This commit is contained in:
Tibo De Peuter 2024-11-10 20:18:46 +01:00
parent 31a4c4060a
commit aeb8f52d6d
Signed by: tdpeuter
GPG key ID: 38297DE43F75FFE2
23 changed files with 569 additions and 304 deletions

127
nixos/flake.lock generated
View file

@ -1,54 +1,15 @@
{
"nodes": {
"devshell": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1713532798,
"narHash": "sha256-wtBhsdMJA3Wa32Wtm1eeo84GejtI43pMrFrmwLXrsEc=",
"owner": "numtide",
"repo": "devshell",
"rev": "12e914740a25ea1891ec619bb53cf5e6ca922e40",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "devshell",
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1701680307,
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
"lastModified": 1726560853,
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
"type": "github"
},
"original": {
@ -64,11 +25,11 @@
]
},
"locked": {
"lastModified": 1716736833,
"narHash": "sha256-rNObca6dm7Qs524O4st8VJH6pZ/Xe1gxl+Rx6mcWYo0=",
"lastModified": 1726989464,
"narHash": "sha256-Vl+WVTJwutXkimwGprnEtXc/s/s8sMuXzqXaspIGlwM=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "a631666f5ec18271e86a5cde998cba68c33d9ac6",
"rev": "2f23fa308a7c067e52dfcc30a0758f47043ec176",
"type": "github"
},
"original": {
@ -86,11 +47,11 @@
]
},
"locked": {
"lastModified": 1701208414,
"narHash": "sha256-xrQ0FyhwTZK6BwKhahIkUVZhMNk21IEI1nUcWSONtpo=",
"lastModified": 1720066371,
"narHash": "sha256-uPlLYH2S0ACj0IcgaK9Lsf4spmJoGejR9DotXiXSBZQ=",
"owner": "nix-community",
"repo": "nix-github-actions",
"rev": "93e39cc1a087d65bcf7a132e75a650c44dd2b734",
"rev": "622f829f5fe69310a866c8a6cd07e747c44ef820",
"type": "github"
},
"original": {
@ -101,11 +62,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1717144377,
"narHash": "sha256-F/TKWETwB5RaR8owkPPi+SPJh83AQsm6KrQAlJ8v/uA=",
"lastModified": 1730883749,
"narHash": "sha256-mwrFF0vElHJP8X3pFCByJR365Q2463ATp2qGIrDUdlE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "805a384895c696f802a9bf5bf4720f37385df547",
"rev": "dba414932936fde69f0606b4f1d87c5bc0003ede",
"type": "github"
},
"original": {
@ -116,27 +77,27 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1717265169,
"narHash": "sha256-IITcGd6xpNoyq9SZBigCkv4+qMHSqot0RDPR4xsZ2CA=",
"lastModified": 1730602179,
"narHash": "sha256-efgLzQAWSzJuCLiCaQUCDu4NudNlHdg2NzGLX5GYaEY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "3b1b4895b2c5f9f5544d02132896aeb9ceea77bc",
"rev": "3c2f1c4ca372622cb2f9de8016c9a0b1cbd0f37c",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "release-23.11",
"ref": "release-24.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1716948383,
"narHash": "sha256-SzDKxseEcHR5KzPXLwsemyTR/kaM9whxeiJohbL04rs=",
"lastModified": 1730785428,
"narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ad57eef4ef0659193044870c731987a6df5cf56b",
"rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7",
"type": "github"
},
"original": {
@ -155,15 +116,15 @@
"nixpkgs"
],
"poetry2nix": "poetry2nix",
"systems": "systems_3",
"systems": "systems_2",
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1701455376,
"narHash": "sha256-FMLrMdi6JY7ZfqV5XnNj64jnDcGKznKZLn7O6OMO3u0=",
"lastModified": 1724283233,
"narHash": "sha256-XMPn6YHwFOJCGLE9M5F3AEFKA0u+maf8CpIEWmvaQTQ=",
"owner": "ThinkChaos",
"repo": "openconnect-sso",
"rev": "20c0015c4264c72cc19ac272de0dc534309bd21b",
"rev": "94f1ddfef1662d56ede0a093bcfc3d23156bc1a1",
"type": "github"
},
"original": {
@ -197,11 +158,11 @@
]
},
"locked": {
"lastModified": 1701105783,
"narHash": "sha256-5IOI0xXGbhAkUZNNcPId48V78Q+/JlW0hzlif0zxRmM=",
"lastModified": 1721039874,
"narHash": "sha256-XANsG9GYHip8pxZpbqKf/YGv8tIa0xTh289Y+WNBNfw=",
"owner": "nix-community",
"repo": "poetry2nix",
"rev": "0b2bff39e9bd4e6db3208e09c276ca83a063b370",
"rev": "d11c01e58587e5f21037ed6477465a7f26a32e27",
"type": "github"
},
"original": {
@ -212,8 +173,7 @@
},
"root": {
"inputs": {
"devshell": "devshell",
"flake-utils": "flake-utils_2",
"flake-utils": "flake-utils",
"home-manager": "home-manager",
"nixpkgs": "nixpkgs",
"nixpkgs-unstable": "nixpkgs-unstable",
@ -230,11 +190,11 @@
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1717297459,
"narHash": "sha256-cZC2f68w5UrJ1f+2NWGV9Gx0dEYmxwomWN2B0lx0QRA=",
"lastModified": 1730883027,
"narHash": "sha256-pvXMOJIqRW0trsW+FzRMl6d5PbsM4rWfD5lcKCOrrwI=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "ab2a43b0d21d1d37d4d5726a892f714eaeb4b075",
"rev": "c5ae1e214ff935f2d3593187a131becb289ea639",
"type": "github"
},
"original": {
@ -273,21 +233,6 @@
"type": "github"
}
},
"systems_3": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [
@ -296,11 +241,11 @@
]
},
"locked": {
"lastModified": 1699786194,
"narHash": "sha256-3h3EH1FXQkIeAuzaWB+nK0XK54uSD46pp+dMD3gAcB4=",
"lastModified": 1721769617,
"narHash": "sha256-6Pqa0bi5nV74IZcENKYRToRNM5obo1EQ+3ihtunJ014=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "e82f32aa7f06bbbd56d7b12186d555223dc399d1",
"rev": "8db8970be1fb8be9c845af7ebec53b699fe7e009",
"type": "github"
},
"original": {
@ -316,11 +261,11 @@
]
},
"locked": {
"lastModified": 1715533576,
"narHash": "sha256-fT4ppWeCJ0uR300EH3i7kmgRZnAVxrH+XtK09jQWihk=",
"lastModified": 1722363685,
"narHash": "sha256-XCf2PIAT6lH7BwytgioPmVf/wkzXjSKScC4KzcZgb64=",
"owner": "gytis-ivaskevicius",
"repo": "flake-utils-plus",
"rev": "3542fe9126dc492e53ddd252bb0260fe035f2c0f",
"rev": "6b10f51ff73a66bb29f3bc8151a59d217713f496",
"type": "github"
},
"original": {

View file

@ -5,17 +5,13 @@
nixpkgs.url = "nixpkgs/nixos-24.05";
nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
devshell = {
url = "github:numtide/devshell";
inputs.nixpkgs.follows = "nixpkgs";
};
flake-utils.url = "github:numtide/flake-utils";
home-manager = {
url = "github:nix-community/home-manager/release-24.05";
inputs.nixpkgs.follows = "nixpkgs";
};
openconnect-sso = {
url = github:ThinkChaos/openconnect-sso/fix/nix-flake;
url = "github:ThinkChaos/openconnect-sso/fix/nix-flake";
inputs = {
flake-utils.follows = "utils";
nixpkgs.follows = "nixpkgs";
@ -33,7 +29,7 @@
outputs = inputs@{
self, nixpkgs, nixpkgs-unstable,
devshell, flake-utils, home-manager, openconnect-sso, sops-nix, utils,
flake-utils, home-manager, openconnect-sso, sops-nix, utils,
... }:
let
system = "x86_64-linux";

View file

@ -19,7 +19,7 @@
networking = {
networkmanager.enable = true;
# openconnect-sso.enable = true;
openconnect-sso.enable = true;
};
nix = {
@ -80,6 +80,7 @@
programs = {
zsh.enable = true;
steam.enable = true;
};
hardware.bluetooth = {
@ -87,7 +88,10 @@
powerOnBoot = false;
};
networking.hostName = "Tibo-NixFat";
networking = {
hostName = "Tibo-NixFat";
networkmanager.wifi.powersave = true;
};
services = {
# Handle the laptop lid switch as follows:
@ -105,6 +109,8 @@
# Touchpad
libinput.enable = true;
thermald.enable = true;
};
system.stateVersion = "24.05";

View file

@ -108,6 +108,8 @@ in {
source-han-serif-japanese
];
hardware.opengl.enable = true;
security.polkit.enable = true;
services = {
@ -142,9 +144,14 @@ in {
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
};
programs.sway = {
enable = true;
wrapperFeatures.gtk = true;
programs = {
sway = {
enable = true;
package = pkgs.swayfx;
wrapperFeatures.gtk = true;
};
waybar.enable = true;
};
sisyphus.users.wantedGroups = [

View file

@ -25,11 +25,17 @@ in {
];
# Send a notification if the YubiKey is waiting for touch.
systemd.user.services.yubikey-touch-detector = {
systemd.services.yubikey-touch-detector = {
enable = true;
description = "Detects when your YubiKey is waiting for a touch";
path = with pkgs; [ yubikey-touch-detector ];
script = ''exec yubikey-touch-detector --notify'';
path = with pkgs; [
gnupg
yubikey-touch-detector
];
wantedBy = [
"graphical-session.target"
];
script = ''exec yubikey-touch-detector --libnotify'';
environment.YUBIKEY_TOUCH_DETECTOR_LIBNOTIFY = "true";
};
};

View file

@ -1,4 +1,6 @@
HomeLab:
Gitea:
ssh: ENC[AES256_GCM,data:+H9qhfOg5WlTB7pihvbJ9omY/zLTAADe8KzI4fbdZ7NuaM0auC95AIQqhwNNCZNglg9UGOVL662pY7dNhbQ/2iCLPHSPgFFXf3fx1moRRcYYQzoJxsgxp19FZQeGNJ0qfRf72xYbZQZKslyHQmcqDieoVTyhaLqTfgC8MQ/UZofw/ortmgME7z51rGV5sXXMjxpJpHz9JxiPwQEL0ABWDAeCqBVBzlqqwdmfKEdkcR4l3USHfH1iNF5XQ5V26I+UGDOyoixt1c/BXzD9xzKI7MUDoRz+qfC6C62LIlEgqZY5tWg+tVZnqobakxwH6d8pXtQ7vaIREEP0LqQMkrNcK8X+cDRteToQ1fcxtN1V+JfZSa9pVC+iGgvmSZ00q4bnOgTmgO9IZ80TvOR4bHpRhjM5l4JMbLBv2jqY1zeUx/5L3WNuYIm9sL5mWXkV/RAD8WCemNSWdKbGsvByEUeiFcxczL/vQ6y3fi+ntmXUgeXVy5zVNkNlYbqd+DemBmwZQb9D1T5T97i2ChciYb3/ON1NObja/bt0PTQa,iv:hIbwsPcDSfgDItlvFFy0vCjuQWvgoQHBH60v8nTVTNg=,tag:1T/TdTEy98TfgMzYAxfHKA==,type:str]
Hugo:
ssh: ENC[AES256_GCM,data:Tfuba25e4hJ8Ovl1IdVtDvg0L0sCc9sYTXstRg89IAUzwv/1u8mxdj9ka6ZKaSQr2QUaNWs0BoPV36O4bI2hTwoqhUarhXXZNnJKHtd8xBu/+kfMSOMGa5qD9V9m3L5OFdt+gdwhJxemeQNkvN0Vhsu4DJFPZRPmGflJ2HVRYaRW4AsI+JPqiWSEeKz40f3PQPJ2h26gF+pADmPwtEfcUGZdGnJXUsiYMC0aBEWWxyAgBgj5W+Nbe+OCopEX1qyRcR8qO+LONjuC0b5hcGeOXjWj/d1FnBfxDHeoxRGhNCo8TUk0ap1mpSAttdr55/C51duQfeV09Iow4nzUR2H0jmzojUAjKXXCkBsK6yjIKxW+4+4OKCC9ERz5mDmu5Z+4aFM7CpSquCAnDVFw1Uq9MJqAnSz6AGh29J4LUwMnVNtf+gQwzGyl/C9wE/Svm0UAwP19h6hLcM1rp6bV4xjfSXNDspUkz4Xr3RdPpTI1PemtMZIq8fP64q0FlFZeV62ctl9hCtDVRDo3fG3FUM08fa0OfJpVYjSEAOfC,iv:T8z+P5++cES9Co9d/2tcU0PbxZZM/5x63tcxIjBeQ0I=,tag:AjsulFme64/xEPjgZQFtow==,type:str]
Nextcloud:
@ -18,8 +20,8 @@ sops:
aDNUbFlhWWVoOWpjVlV1VTVJejlSMjQK6wCeCRdHY5oyTX6/R1U5AOGJyp0exi1A
dWPUMfkKBBBkrR+G6ougd8o3FwFf+yfb5RhaTxxqjit6p2RyMjR64w==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2024-10-19T12:24:34Z"
mac: ENC[AES256_GCM,data:Bh/vHdsFCzk+YaRcZe/Eiq4xfLSDX1tSV4Jg8lFgzPqXCBwCgohDREZ8LSZPuQtStIugzyRNyPcnWrZcDwDiaS9klM5sIxjeGIF7ZDS81sQnQVNRyX/m9vl6AgVtP9KHgOpJwGObzuvNBE7XnOZ3q03/ah1LXRowJUn63wB4Qxk=,iv:GVLQUjm0bMHusD0F8gJ5DlZvqdDHPsT0VwxLhHh9ozE=,tag:cffv8wKTQ9UYrCPx+3zTMw==,type:str]
lastmodified: "2024-10-20T07:58:57Z"
mac: ENC[AES256_GCM,data:mmFgjE7rp7fXmPOnETGamHR3kUAguFCNNTQcEnD+uM4xeSp3QcB2g8tkKYaJAjkWWqKRSm9/Iu1NWOr9GWyu4O1h7ppWSvpKawWki6cHpqBl8JOwbx/SZi5bzU1lBtoJyT6hD1aCu9ENOMUkpPY3rKcYwbsRMJpKYsbXymPikcQ=,iv:kPB6ds8c4yc/w7Ny1d3DTyztQF4yTr0NyKgIHEzIKAg=,tag:VTpXRb5HaWDjVB52K7mByw==,type:str]
pgp: []
unencrypted_suffix: _unencrypted
version: 3.8.1

View file

@ -0,0 +1,30 @@
{
description = "C Flake";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, flake-utils, nixpkgs }:
flake-utils.lib.eachDefaultSystem (system:
let
lib = import lib;
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
};
in {
devShells.default = pkgs.mkShell {
packages = with pkgs; [
cmake
gcc
gnumake
valgrind
# You might want to use your own IDE.
(jetbrains.plugins.addPlugins jetbrains.clion [ "github-copilot" ])
];
};
});
}

View file

@ -0,0 +1,26 @@
{
description = "Java Flake";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
inputs.flake-utils.url = "github:numtide/flake-utils";
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem
( system:
let
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
};
in {
devShells.default = pkgs.mkShell {
packages = with pkgs; [
jdk8
openjdk17
# You might want to use your own IDE.
(jetbrains.plugins.addPlugins jetbrains.idea-ultimate [ "github-copilot" ])
];
};
});
}

View file

@ -0,0 +1,24 @@
{
description = "LaTeX Flake";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
inputs.flake-utils.url = "github:numtide/flake-utils";
outputs = { self, nixpkgs, flake-utils}:
flake-utils.lib.eachDefaultSystem
(system:
let
pkgs = import nixpkgs {
inherit system;
};
in {
devShells.default = pkgs.mkShell {
packages = with pkgs; [
texlive.combined.scheme-full
pgfplots
biber
];
};
}
);
}

View file

@ -136,6 +136,14 @@ in {
cursorTheme = cursor;
};
services.syncthing = {
enable = true;
extraOptions = [
"--no-default-folder"
];
tray.enable = true;
};
xdg = {
desktopEntries.spotify = {
name = "Spotify";

View file

@ -72,14 +72,14 @@ in {
".config/zellij" = {
source = ../../../stow/zellij/.config/zellij;
};
".oh-my-zsh" = {
enable = config.users.users.tdpeuter.shell == pkgs.zsh;
source = "${pkgs.oh-my-zsh}/share/oh-my-zsh";
".gnupg" = {
inherit (config.programs.gnupg.agent) enable;
source = ../../../stow/gnupg/.gnupg;
recursive = true;
};
".oh-my-zsh/themes/tdpeuter.zsh-theme" = {
enable = config.users.users.tdpeuter.shell == pkgs.zsh;
source = ../../../stow/zsh/.oh-my-zsh/themes/tdpeuter.zsh-theme;
# onChange = ''
# chmod 700 /home/tdpeuter/.gnupg
# chmod 600 /home/tdpeuter/.gnupg/*
# '';
};
".ssh/config" = lib.mkIf config.sisyphus.programs.ssh.enable {
inherit (config.sisyphus.programs.ssh) enable;
@ -97,6 +97,15 @@ in {
};
}
(lib.mkIf (config.users.users.tdpeuter.shell == pkgs.zsh) {
".oh-my-zsh" = {
enable = config.users.users.tdpeuter.shell == pkgs.zsh;
source = "${pkgs.oh-my-zsh}/share/oh-my-zsh";
recursive = true;
};
".oh-my-zsh/themes/tdpeuter.zsh-theme" = {
enable = config.users.users.tdpeuter.shell == pkgs.zsh;
source = ../../../stow/zsh/.oh-my-zsh/themes/tdpeuter.zsh-theme;
};
".zshrc" = {
source = ../../../stow/zsh/.zshrc;
};

View file

@ -32,6 +32,7 @@ in {
"UGent/SubGit/ssh" = UGent;
# HomeLab
"HomeLab/Gitea/ssh" = HomeLab;
"HomeLab/Hugo/ssh" = HomeLab;
"HomeLab/Nextcloud/ssh" = HomeLab;
});