From b15fe38d2f84bedef92dde4d9ab443c4138ed65c Mon Sep 17 00:00:00 2001 From: "finn.markwitz" Date: Thu, 16 Jan 2025 11:57:05 +0100 Subject: [PATCH 01/14] feat: Logitech Drivers --- machines/jupiter/hardware-configuration.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/machines/jupiter/hardware-configuration.nix b/machines/jupiter/hardware-configuration.nix index c0a9146..8248928 100644 --- a/machines/jupiter/hardware-configuration.nix +++ b/machines/jupiter/hardware-configuration.nix @@ -28,6 +28,11 @@ ]; }; + hardware.logitech.wireless = { + enable = true; + enableGraphical = true; + } + fileSystems."/" = { device = "/dev/disk/by-uuid/c95c64ad-f131-4bde-9bca-a7a3692173da"; From 2945601aa3c83516077d2eaaee53b8fe4d8d02c7 Mon Sep 17 00:00:00 2001 From: "finn.markwitz" Date: Tue, 28 Jan 2025 23:25:38 +0100 Subject: [PATCH 02/14] fix: Hyprland & Update --- flake.lock | 366 +++----------------- flake.nix | 2 +- machines/configuration.nix | 4 +- machines/jupiter/environments.nix | 5 +- machines/jupiter/hardware-configuration.nix | 2 +- modules/environments/hyprland/default.nix | 8 + 6 files changed, 71 insertions(+), 316 deletions(-) diff --git a/flake.lock b/flake.lock index e17ba89..6eb67b1 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", "owner": "edolstra", "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", "type": "github" }, "original": { @@ -21,11 +21,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1719877454, - "narHash": "sha256-g5N1yyOSsPNiOlFfkuI/wcUjmtah+nxdImJqrSATjOU=", + "lastModified": 1736143030, + "narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "4e3583423212f9303aa1a6337f8dffb415920e4f", + "rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de", "type": "github" }, "original": { @@ -42,11 +42,11 @@ ] }, "locked": { - "lastModified": 1712014858, - "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", "type": "github" }, "original": { @@ -55,193 +55,34 @@ "type": "github" } }, - "flake-utils": { - "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "hyprcursor": { + "git-hooks-nix": { "inputs": { - "hyprlang": [ - "hyprland", - "hyprlang" + "flake-compat": [ + "nix" + ], + "gitignore": [ + "nix" ], "nixpkgs": [ - "hyprland", + "nix", "nixpkgs" ], - "systems": [ - "hyprland", - "systems" + "nixpkgs-stable": [ + "nix", + "nixpkgs" ] }, "locked": { - "lastModified": 1718450675, - "narHash": "sha256-jpsns6buS4bK+1sF8sL8AaixAiCRjA+nldTKvcwmvUs=", - "owner": "hyprwm", - "repo": "hyprcursor", - "rev": "66d5b46ff94efbfa6fa3d1d1b66735f1779c34a6", + "lastModified": 1734279981, + "narHash": "sha256-NdaCraHPp8iYMWzdXAt5Nv6sA3MUzlCiGiR586TCwo0=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "aa9f40c906904ebd83da78e7f328cd8aeaeae785", "type": "github" }, "original": { - "owner": "hyprwm", - "repo": "hyprcursor", - "type": "github" - } - }, - "hyprland": { - "inputs": { - "hyprcursor": "hyprcursor", - "hyprlang": "hyprlang", - "hyprutils": "hyprutils", - "hyprwayland-scanner": "hyprwayland-scanner", - "nixpkgs": "nixpkgs", - "systems": "systems", - "xdph": "xdph" - }, - "locked": { - "lastModified": 1719915468, - "narHash": "sha256-2a+aQbaAqFNySNXZ9l44tebNmXnAfAzqj+Tw4JRUvqc=", - "owner": "hyprwm", - "repo": "Hyprland", - "rev": "2fa57f2dc4909be697d003a22ce6870039e4db9b", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "Hyprland", - "type": "github" - } - }, - "hyprland-protocols": { - "inputs": { - "nixpkgs": [ - "hyprland", - "xdph", - "nixpkgs" - ], - "systems": [ - "hyprland", - "xdph", - "systems" - ] - }, - "locked": { - "lastModified": 1714869498, - "narHash": "sha256-vbLVOWvQqo4n1yvkg/Q70VTlPbMmTiCQfNTgcWDCfJM=", - "owner": "hyprwm", - "repo": "hyprland-protocols", - "rev": "e06482e0e611130cd1929f75e8c1cf679e57d161", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-protocols", - "type": "github" - } - }, - "hyprlang": { - "inputs": { - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1717881852, - "narHash": "sha256-XeeVoKHQgfKuXoP6q90sUqKyl7EYy3ol2dVZGM+Jj94=", - "owner": "hyprwm", - "repo": "hyprlang", - "rev": "ec6938c66253429192274d612912649a0cfe4d28", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprlang", - "type": "github" - } - }, - "hyprutils": { - "inputs": { - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1719316102, - "narHash": "sha256-dmRz128j/lJmMuTYeCYPfSBRHHQO3VeH4PbmoyAhHzw=", - "owner": "hyprwm", - "repo": "hyprutils", - "rev": "1f6bbec5954f623ff8d68e567bddcce97cd2f085", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprutils", - "type": "github" - } - }, - "hyprwayland-scanner": { - "inputs": { - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1719067853, - "narHash": "sha256-mAnZG/eQy72Fp1ImGtqCgUrDumnR1rMZv2E/zgP4U74=", - "owner": "hyprwm", - "repo": "hyprwayland-scanner", - "rev": "914f083741e694092ee60a39d31f693d0a6dc734", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprwayland-scanner", - "type": "github" - } - }, - "libgit2": { - "flake": false, - "locked": { - "lastModified": 1697646580, - "narHash": "sha256-oX4Z3S9WtJlwvj0uH9HlYcWv+x1hqp8mhXl7HsLu2f0=", - "owner": "libgit2", - "repo": "libgit2", - "rev": "45fd9ed7ae1a9b74b957ef4f337bc3c8b3df01b5", - "type": "github" - }, - "original": { - "owner": "libgit2", - "repo": "libgit2", + "owner": "cachix", + "repo": "git-hooks.nix", "type": "github" } }, @@ -249,18 +90,17 @@ "inputs": { "flake-compat": "flake-compat", "flake-parts": "flake-parts_2", - "libgit2": "libgit2", - "nixpkgs": "nixpkgs_2", + "git-hooks-nix": "git-hooks-nix", + "nixpkgs": "nixpkgs", "nixpkgs-23-11": "nixpkgs-23-11", - "nixpkgs-regression": "nixpkgs-regression", - "pre-commit-hooks": "pre-commit-hooks" + "nixpkgs-regression": "nixpkgs-regression" }, "locked": { - "lastModified": 1719873912, - "narHash": "sha256-i+qQmaneLQKD/LYgZuCp+/dkyiqUW9+b9rSQ1i2oZCQ=", + "lastModified": 1736979915, + "narHash": "sha256-GqR1/TryOjTGBQD3I9oQYekARH5GvlZamSx4VAArVuY=", "owner": "NixOS", "repo": "nix", - "rev": "80d67d603b68d5b1eae468c8be3016117dcaefb2", + "rev": "0c101679b4c23fdcd27c4f5be42586aa0beff00f", "type": "github" }, "original": { @@ -271,11 +111,11 @@ }, "nixlib": { "locked": { - "lastModified": 1719708727, - "narHash": "sha256-XFNKtyirrGNdehpg7lMNm1skEcBApjqGhaHc/OI95HY=", + "lastModified": 1736643958, + "narHash": "sha256-tmpqTSWVRJVhpvfSN9KXBvKEXplrwKnSZNAoNPf/S/s=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "1bba8a624b3b9d4f68db94fb63aaeb46039ce9e6", + "rev": "1418bc28a52126761c02dd3d89b2d8ca0f521181", "type": "github" }, "original": { @@ -292,11 +132,11 @@ ] }, "locked": { - "lastModified": 1719841141, - "narHash": "sha256-WOyohxFJJdfDvEB7N3eTcX44lNU2rZes1inHsyHL7mM=", + "lastModified": 1736730523, + "narHash": "sha256-mvTZ7fLKA6ggGnA8GZwcXV57EvVReRTCfi26xc08Q3g=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "140dcc2b9a0eb87ba5e9011076a1a7af19179ab1", + "rev": "74b8e31dd709760c86eed16b6c1d0b88d7360937", "type": "github" }, "original": { @@ -307,11 +147,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1719895800, - "narHash": "sha256-xNbjISJTFailxass4LmdWeV4jNhAlmJPwj46a/GxE6M=", + "lastModified": 1736978406, + "narHash": "sha256-oMr3PVIQ8XPDI8/x6BHxsWEPBRU98Pam6KGVwUh8MPk=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "6e253f12b1009053eff5344be5e835f604bb64cd", + "rev": "b678606690027913f3434dea3864e712b862dde5", "type": "github" }, "original": { @@ -322,16 +162,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1719075281, - "narHash": "sha256-CyyxvOwFf12I91PBWz43iGT1kjsf5oi6ax7CrvaMyAo=", + "lastModified": 1734359947, + "narHash": "sha256-1Noao/H+N8nFB4Beoy8fgwrcOQLVm9o4zKW1ODaqK9E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a71e967ef3694799d0c418c98332f7ff4cc5f6af", + "rev": "48d12d5e70ee91fe8481378e540433a7303dbf6a", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "release-24.11", "repo": "nixpkgs", "type": "github" } @@ -354,14 +194,14 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1719876945, - "narHash": "sha256-Fm2rDDs86sHy0/1jxTOKB1118Q0O3Uc7EC0iXvXKpbI=", + "lastModified": 1735774519, + "narHash": "sha256-CewEm1o2eVAnoqb6Ml+Qi9Gg/EfNAxbRx1lANGVyoLI=", "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/e9b51731911566bbf7e4895475a87fe06961de0b.tar.gz" }, "original": { "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/e9b51731911566bbf7e4895475a87fe06961de0b.tar.gz" } }, "nixpkgs-regression": { @@ -382,11 +222,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1719848872, - "narHash": "sha256-H3+EC5cYuq+gQW8y0lSrrDZfH71LB4DAf+TDFyvwCNA=", + "lastModified": 1736883708, + "narHash": "sha256-uQ+NQ0/xYU0N1CnXsa2zghgNaOPxWpMJXSUJJ9W7140=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "00d80d13810dbfea8ab4ed1009b09100cca86ba8", + "rev": "eb62e6aa39ea67e0b8018ba8ea077efe65807dc8", "type": "github" }, "original": { @@ -397,27 +237,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1717432640, - "narHash": "sha256-+f9c4/ZX5MWDOuB1rKoWj+lBNm0z0rs4CK47HBLxy1o=", + "lastModified": 1736916166, + "narHash": "sha256-puPDoVKxkuNmYIGMpMQiK8bEjaACcCksolsG36gdaNQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "88269ab3044128b7c2f4c7d68448b2fb50456870", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "release-24.05", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { - "locked": { - "lastModified": 1733550349, - "narHash": "sha256-NcGumB4Lr6KSDq+nIqXtNA8QwAQKDSZT7N9OTGWbTrs=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "e2605d0744c2417b09f8bf850dfca42fcf537d34", + "rev": "e24b4c09e963677b1beea49d411cd315a024ad3a", "type": "github" }, "original": { @@ -426,93 +250,15 @@ "type": "indirect" } }, - "pre-commit-hooks": { - "inputs": { - "flake-compat": [ - "nix" - ], - "flake-utils": "flake-utils", - "gitignore": [ - "nix" - ], - "nixpkgs": [ - "nix", - "nixpkgs" - ], - "nixpkgs-stable": [ - "nix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1712897695, - "narHash": "sha256-nMirxrGteNAl9sWiOhoN5tIHyjBbVi5e2tgZUgZlK3Y=", - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "rev": "40e6053ecb65fcbf12863338a6dcefb3f55f1bf8", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "type": "github" - } - }, "root": { "inputs": { "flake-parts": "flake-parts", - "hyprland": "hyprland", "nix": "nix", "nixos-generators": "nixos-generators", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_2", "nixpkgs-unstable": "nixpkgs-unstable" } - }, - "systems": { - "locked": { - "lastModified": 1689347949, - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", - "owner": "nix-systems", - "repo": "default-linux", - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default-linux", - "type": "github" - } - }, - "xdph": { - "inputs": { - "hyprland-protocols": "hyprland-protocols", - "hyprlang": [ - "hyprland", - "hyprlang" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1718619174, - "narHash": "sha256-FWW68AVYmB91ZDQnhLMBNCUUTCjb1ZpO2k2KIytHtkA=", - "owner": "hyprwm", - "repo": "xdg-desktop-portal-hyprland", - "rev": "c7894aa54f9a7dbd16df5cd24d420c8af22d5623", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "xdg-desktop-portal-hyprland", - "type": "github" - } } }, "root": "root", diff --git a/flake.nix b/flake.nix index cd305ad..bf33ccd 100644 --- a/flake.nix +++ b/flake.nix @@ -12,7 +12,7 @@ url = "github:nix-community/nixos-generators"; inputs.nixpkgs.follows = "nixpkgs"; }; - hyprland.url = "github:hyprwm/Hyprland"; + # hyprland.url = "github:hyprwm/Hyprland"; }; diff --git a/machines/configuration.nix b/machines/configuration.nix index c563ed5..67e18f2 100644 --- a/machines/configuration.nix +++ b/machines/configuration.nix @@ -5,7 +5,7 @@ let nixpkgs nixpkgs-unstable nixos-hardware - hyprland + #hyprland ; nixosSystem = nixpkgs.lib.makeOverridable nixpkgs.lib.nixosSystem; overlay-unstable = final: prev: { @@ -34,7 +34,7 @@ let ]; documentation.info.enable = false; }) - hyprland.nixosModules.default + #hyprland.nixosModules.default ]; } ../modules diff --git a/machines/jupiter/environments.nix b/machines/jupiter/environments.nix index 16f5b65..57e8edf 100644 --- a/machines/jupiter/environments.nix +++ b/machines/jupiter/environments.nix @@ -5,14 +5,14 @@ let in { my.profiles = { - hyprland.enable = false; + hyprland.enable = true; zsh.enable = true; apps = { desktop_apps = true; dev_apps = false; gnome_apps = false; }; - kde-desktop.enable = true; + kde-desktop.enable = false; radarr.enable = true; docker.enable = true; readarr.enable = true; @@ -32,5 +32,6 @@ in my.hardware = { bluetooth.enable = true; + sound.enable = true; }; } diff --git a/machines/jupiter/hardware-configuration.nix b/machines/jupiter/hardware-configuration.nix index 8248928..3d095bf 100644 --- a/machines/jupiter/hardware-configuration.nix +++ b/machines/jupiter/hardware-configuration.nix @@ -31,7 +31,7 @@ hardware.logitech.wireless = { enable = true; enableGraphical = true; - } + }; fileSystems."/" = diff --git a/modules/environments/hyprland/default.nix b/modules/environments/hyprland/default.nix index ff03179..afde2d5 100644 --- a/modules/environments/hyprland/default.nix +++ b/modules/environments/hyprland/default.nix @@ -11,10 +11,18 @@ let enable = true; xwayland.enable = true; }; + + + services.displayManager.sddm.wayland.enable = true; + services.xserver = { + layout = "de"; + xkbVariant = ""; + }; users.users.finn.packages = with pkgs; [ wofi mako kitty + ghostty hyprpaper waybar libsForQt5.dolphin From 325ce5969c450f008381784b06b4210facb90108 Mon Sep 17 00:00:00 2001 From: "finn.markwitz" Date: Tue, 28 Jan 2025 23:26:24 +0100 Subject: [PATCH 03/14] feat: Sensors, SystemCTL TUI & Headset Options --- machines/core/core.nix | 2 ++ modules/hardware/sound/default.nix | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/machines/core/core.nix b/machines/core/core.nix index 3dd579d..1a69871 100644 --- a/machines/core/core.nix +++ b/machines/core/core.nix @@ -38,6 +38,8 @@ zip unzip networkmanager + lm_sensors + systemctl-tui ]; time.timeZone = "Europe/Berlin"; diff --git a/modules/hardware/sound/default.nix b/modules/hardware/sound/default.nix index 52a6094..8e802d5 100644 --- a/modules/hardware/sound/default.nix +++ b/modules/hardware/sound/default.nix @@ -7,9 +7,14 @@ in enable = mkEnableOption "Sound configuration"; }; + + config = lib.mkIf cfg.enable { hardware.pulseaudio.enable = false; hardware.pulseaudio.support32Bit = true; users.extraUsers.finn.extraGroups = [ "audio" ]; + environment.systemPackages = with pkgs; [ + headsetcontrol + ]; }; } \ No newline at end of file From 514ee3c137b85acc03684a54fdc2fae202988144 Mon Sep 17 00:00:00 2001 From: "finn.markwitz" Date: Tue, 28 Jan 2025 23:32:53 +0100 Subject: [PATCH 04/14] feat: Developent Environment --- machines/jupiter/environments.nix | 1 + modules/environments/default.nix | 1 + modules/environments/development/default.nix | 30 ++++++++++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 modules/environments/development/default.nix diff --git a/machines/jupiter/environments.nix b/machines/jupiter/environments.nix index 57e8edf..8abbd71 100644 --- a/machines/jupiter/environments.nix +++ b/machines/jupiter/environments.nix @@ -19,6 +19,7 @@ in sonarr.enable = true; jellyfin.enable = true; jellyseerr.enable = true; + development.enable = true; paperless = { enable = false; port = 28981; # Optional, to override the default port diff --git a/modules/environments/default.nix b/modules/environments/default.nix index b5c80ec..038af51 100644 --- a/modules/environments/default.nix +++ b/modules/environments/default.nix @@ -2,6 +2,7 @@ { imports = [ ./apps + ./development ./hyprland ./zsh ./paperless diff --git a/modules/environments/development/default.nix b/modules/environments/development/default.nix new file mode 100644 index 0000000..f1b522f --- /dev/null +++ b/modules/environments/development/default.nix @@ -0,0 +1,30 @@ + +{ config, lib, pkgs, ... }: +let + cfg = config.my.profiles.development; + in { + + + + options.my.profiles.development = with lib; { + enable = mkEnableOption "Development Tools"; + }; + + config = lib.mkIf cfg.enable { + users.users.finn.packages = with pkgs; [ + google-chrome + vscode + neovim + jetbrains.idea-ultimate + (python3.withPackages ( + ps: with ps; [ + matplotlib + numpy + pandas + tqdm # progressbar in pandas + wheel # python development + helium + ] + )) + }; + } From 2b13f15711f3824bd8cd543314aee64ef4b012c7 Mon Sep 17 00:00:00 2001 From: "finn.markwitz" Date: Tue, 28 Jan 2025 23:45:58 +0100 Subject: [PATCH 05/14] fix: Development Env --- modules/environments/development/default.nix | 27 +++++--------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/modules/environments/development/default.nix b/modules/environments/development/default.nix index f1b522f..499af0a 100644 --- a/modules/environments/development/default.nix +++ b/modules/environments/development/default.nix @@ -1,10 +1,6 @@ - { config, lib, pkgs, ... }: -let - cfg = config.my.profiles.development; - in { - - +let cfg = config.my.profiles.development; +in { options.my.profiles.development = with lib; { enable = mkEnableOption "Development Tools"; @@ -12,19 +8,10 @@ let config = lib.mkIf cfg.enable { users.users.finn.packages = with pkgs; [ - google-chrome + google-chrome vscode - neovim + neovim jetbrains.idea-ultimate - (python3.withPackages ( - ps: with ps; [ - matplotlib - numpy - pandas - tqdm # progressbar in pandas - wheel # python development - helium - ] - )) - }; - } + ]; + }; +} From 1fefc23c1b1d02aef46836eecaa6c2649df60224 Mon Sep 17 00:00:00 2001 From: "finn.markwitz" Date: Tue, 28 Jan 2025 23:46:50 +0100 Subject: [PATCH 06/14] update: Flake --- flake.lock | 82 ++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 67 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 6eb67b1..84779e3 100644 --- a/flake.lock +++ b/flake.lock @@ -55,6 +55,24 @@ "type": "github" } }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "git-hooks-nix": { "inputs": { "flake-compat": [ @@ -91,16 +109,17 @@ "flake-compat": "flake-compat", "flake-parts": "flake-parts_2", "git-hooks-nix": "git-hooks-nix", + "nixfmt": "nixfmt", "nixpkgs": "nixpkgs", "nixpkgs-23-11": "nixpkgs-23-11", "nixpkgs-regression": "nixpkgs-regression" }, "locked": { - "lastModified": 1736979915, - "narHash": "sha256-GqR1/TryOjTGBQD3I9oQYekARH5GvlZamSx4VAArVuY=", + "lastModified": 1738052114, + "narHash": "sha256-OqHJ6mnBh2Ayqr2Sz7FUR2gOzupBBh9zC1DAaj61+OA=", "owner": "NixOS", "repo": "nix", - "rev": "0c101679b4c23fdcd27c4f5be42586aa0beff00f", + "rev": "fbe2940a08b0f850ee3a01978256b4c4d5906587", "type": "github" }, "original": { @@ -109,6 +128,24 @@ "type": "github" } }, + "nixfmt": { + "inputs": { + "flake-utils": "flake-utils" + }, + "locked": { + "lastModified": 1736283758, + "narHash": "sha256-hrKhUp2V2fk/dvzTTHFqvtOg000G1e+jyIam+D4XqhA=", + "owner": "NixOS", + "repo": "nixfmt", + "rev": "8d4bd690c247004d90d8554f0b746b1231fe2436", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixfmt", + "type": "github" + } + }, "nixlib": { "locked": { "lastModified": 1736643958, @@ -132,11 +169,11 @@ ] }, "locked": { - "lastModified": 1736730523, - "narHash": "sha256-mvTZ7fLKA6ggGnA8GZwcXV57EvVReRTCfi26xc08Q3g=", + "lastModified": 1737057290, + "narHash": "sha256-3Pe0yKlCc7EOeq1X/aJVDH0CtNL+tIBm49vpepwL1MQ=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "74b8e31dd709760c86eed16b6c1d0b88d7360937", + "rev": "d002ce9b6e7eb467cd1c6bb9aef9c35d191b5453", "type": "github" }, "original": { @@ -147,11 +184,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1736978406, - "narHash": "sha256-oMr3PVIQ8XPDI8/x6BHxsWEPBRU98Pam6KGVwUh8MPk=", + "lastModified": 1737751639, + "narHash": "sha256-ZEbOJ9iT72iwqXsiEMbEa8wWjyFvRA9Ugx8utmYbpz4=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "b678606690027913f3434dea3864e712b862dde5", + "rev": "dfad538f751a5aa5d4436d9781ab27a6128ec9d4", "type": "github" }, "original": { @@ -222,11 +259,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1736883708, - "narHash": "sha256-uQ+NQ0/xYU0N1CnXsa2zghgNaOPxWpMJXSUJJ9W7140=", + "lastModified": 1737885589, + "narHash": "sha256-Zf0hSrtzaM1DEz8//+Xs51k/wdSajticVrATqDrfQjg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "eb62e6aa39ea67e0b8018ba8ea077efe65807dc8", + "rev": "852ff1d9e153d8875a83602e03fdef8a63f0ecf8", "type": "github" }, "original": { @@ -237,11 +274,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1736916166, - "narHash": "sha256-puPDoVKxkuNmYIGMpMQiK8bEjaACcCksolsG36gdaNQ=", + "lastModified": 1737885640, + "narHash": "sha256-GFzPxJzTd1rPIVD4IW+GwJlyGwBDV1Tj5FLYwDQQ9sM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e24b4c09e963677b1beea49d411cd315a024ad3a", + "rev": "4e96537f163fad24ed9eb317798a79afc85b51b7", "type": "github" }, "original": { @@ -259,6 +296,21 @@ "nixpkgs": "nixpkgs_2", "nixpkgs-unstable": "nixpkgs-unstable" } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } } }, "root": "root", From 6e73e9362d1fc5287295be5d8d33575eeb646b8e Mon Sep 17 00:00:00 2001 From: "finn.markwitz" Date: Tue, 4 Feb 2025 21:03:49 +0100 Subject: [PATCH 07/14] config: Hyprland & Ghostty --- modules/environments/apps/default.nix | 1 + modules/environments/hyprland/default.nix | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/environments/apps/default.nix b/modules/environments/apps/default.nix index 3f99756..8df0bbb 100644 --- a/modules/environments/apps/default.nix +++ b/modules/environments/apps/default.nix @@ -28,6 +28,7 @@ let pipewire vlc wireplumber + ghostty numix-icon-theme ] ++ lib.optionals cfg.dev_apps [ jetbrains.webstorm diff --git a/modules/environments/hyprland/default.nix b/modules/environments/hyprland/default.nix index afde2d5..32594ff 100644 --- a/modules/environments/hyprland/default.nix +++ b/modules/environments/hyprland/default.nix @@ -22,7 +22,6 @@ let wofi mako kitty - ghostty hyprpaper waybar libsForQt5.dolphin From c407e1e9ee1e6dbfb33cac4baf4f5b217297c54c Mon Sep 17 00:00:00 2001 From: "finn.markwitz" Date: Tue, 4 Feb 2025 21:05:49 +0100 Subject: [PATCH 08/14] config: Swap to KDE --- machines/jupiter/environments.nix | 4 ++-- modules/environments/kde-desktop/default.nix | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/machines/jupiter/environments.nix b/machines/jupiter/environments.nix index 8abbd71..eb57d89 100644 --- a/machines/jupiter/environments.nix +++ b/machines/jupiter/environments.nix @@ -5,14 +5,14 @@ let in { my.profiles = { - hyprland.enable = true; + hyprland.enable = false; zsh.enable = true; apps = { desktop_apps = true; dev_apps = false; gnome_apps = false; }; - kde-desktop.enable = false; + kde-desktop.enable = true; radarr.enable = true; docker.enable = true; readarr.enable = true; diff --git a/modules/environments/kde-desktop/default.nix b/modules/environments/kde-desktop/default.nix index 09e7341..d8f6145 100644 --- a/modules/environments/kde-desktop/default.nix +++ b/modules/environments/kde-desktop/default.nix @@ -17,7 +17,7 @@ in desktopManager.plasma5.enable = true; }; users.users.finn.packages = with pkgs; [ - latte-dock + # Programms can be added here... ]; }; } \ No newline at end of file From c3f4470f80464c193638594ce85210cd105b43ec Mon Sep 17 00:00:00 2001 From: "finn.markwitz" Date: Fri, 7 Feb 2025 22:01:18 +0100 Subject: [PATCH 09/14] refactor: Apps & Development --- machines/jupiter/configuration.nix | 11 ----------- modules/environments/apps/default.nix | 17 ++--------------- modules/environments/dev_server/default.nix | 20 -------------------- modules/environments/development/default.nix | 15 +++++++++++++++ modules/environments/kde-desktop/default.nix | 3 +-- 5 files changed, 18 insertions(+), 48 deletions(-) delete mode 100644 modules/environments/dev_server/default.nix diff --git a/machines/jupiter/configuration.nix b/machines/jupiter/configuration.nix index 9a62d6d..a2c7520 100644 --- a/machines/jupiter/configuration.nix +++ b/machines/jupiter/configuration.nix @@ -5,7 +5,6 @@ ./disks.nix ./hardware-configuration.nix ./environments.nix - # ./system.nix use docker here ]; networking.hostName = "jupiter"; @@ -24,16 +23,6 @@ ]; }; - # Enable the X11 windowing system. - # services.xserver.enable = true; - - # Enable the GNOME Desktop Environment. - # services.xserver.displayManager.gdm.enable = true; - # services.xserver.desktopManager.gnome.enable = true; - - # services.xserver.enable = true; - # services.xserver.displayManager.sddm.enable = true; - services.openssh.enable = true; # Configure keymap in X11 diff --git a/modules/environments/apps/default.nix b/modules/environments/apps/default.nix index 8df0bbb..f577fa7 100644 --- a/modules/environments/apps/default.nix +++ b/modules/environments/apps/default.nix @@ -17,29 +17,16 @@ let firefox thunderbird google-chrome - xfce.thunar vscode discord spotify keepassxc moonlight-qt nextcloud-client - neovim pipewire + wireplumber vlc - wireplumber ghostty - numix-icon-theme - ] ++ lib.optionals cfg.dev_apps [ - jetbrains.webstorm - jetbrains.goland - jetbrains.pycharm-professional - jetbrains.idea-ultimate - go - ] ++ lib.optionals cfg.gnome_apps [ - gnomeExtensions.tweaks-in-system-menu - gnomeExtensions.wireless-hid - gnome.gnome-tweaks - ]; + ]; }; } diff --git a/modules/environments/dev_server/default.nix b/modules/environments/dev_server/default.nix deleted file mode 100644 index 9d4adec..0000000 --- a/modules/environments/dev_server/default.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ config, lib, pkgs, ... }: -let - cfg = config.my.profiles.dev_server; - in { - options.my.profiles.dev_server = with lib; { - enable = mkEnableOption "Development Server environment"; - }; - - config = lib.mkIf cfg.enable { - programs.dev_server = { - enable = true; - nvidiaPatches = true; - xwayland.enable = true; - }; - users.users.finn.packages = with pkgs; [ - # Software - ]; - }; - -} diff --git a/modules/environments/development/default.nix b/modules/environments/development/default.nix index 499af0a..ca9fcea 100644 --- a/modules/environments/development/default.nix +++ b/modules/environments/development/default.nix @@ -12,6 +12,21 @@ in { vscode neovim jetbrains.idea-ultimate + go + (python3.withPackages ( + ps: with ps; [ + jupyter # notebooks + matplotlib + numpy + pandas + pillow + plotly + scikitlearn + scipy + tqdm # progressbar in pandas + wheel # python development + ] + )) ]; }; } diff --git a/modules/environments/kde-desktop/default.nix b/modules/environments/kde-desktop/default.nix index d8f6145..3a554db 100644 --- a/modules/environments/kde-desktop/default.nix +++ b/modules/environments/kde-desktop/default.nix @@ -2,8 +2,6 @@ { config, lib, pkgs, ... }: let cfg = config.my.profiles.kde-desktop; - # domain = config.networking.domain; - # port = 9696; in { options.my.profiles.kde-desktop = with lib; { @@ -18,6 +16,7 @@ in }; users.users.finn.packages = with pkgs; [ # Programms can be added here... + numix-icon-theme ]; }; } \ No newline at end of file From dc2abe6ff19c9b9357007eca7cfd91c51c2c6399 Mon Sep 17 00:00:00 2001 From: "finn.markwitz" Date: Fri, 7 Feb 2025 22:13:20 +0100 Subject: [PATCH 10/14] refactor: Formatting --- flake.nix | 26 +++++++++---- machines/configuration.nix | 28 ++++++------- machines/configuration_old.nix | 41 +++++++++++--------- machines/core/core.nix | 10 ++++- machines/core/default.nix | 2 +- machines/core/modules.nix | 9 ++++- machines/core/network.nix | 9 ++++- machines/core/nix.nix | 10 ++++- machines/core/users.nix | 9 ++++- machines/jupiter/configuration.nix | 23 ++++++----- machines/jupiter/disks.nix | 38 +++++++++++------- machines/jupiter/hardware-configuration.nix | 40 ++++++++++++------- machines/mibook/configuration.nix | 10 +++-- machines/mibook/disks.nix | 17 +++++--- machines/mibook/environments.nix | 2 +- machines/mibook/hardware-configuration.nix | 28 ++++++++----- modules/default.nix | 2 +- modules/environments/apps/default.nix | 31 ++++++++------- modules/environments/default.nix | 2 +- modules/environments/development/default.nix | 13 +++++-- modules/environments/docker/default.nix | 11 +++++- modules/environments/hyprland/default.nix | 27 +++++++------ modules/environments/jellyfin/default.nix | 10 +++-- modules/environments/jellyseerr/default.nix | 3 +- modules/environments/kde-desktop/default.nix | 15 ++++--- modules/environments/paperless/default.nix | 24 ++++++------ modules/environments/prowlarr/default.nix | 13 +++++-- modules/environments/radarr/default.nix | 13 +++++-- modules/environments/readarr/default.nix | 13 +++++-- modules/environments/sonarr/default.nix | 11 ++++-- modules/environments/zsh/default.nix | 23 ++++++----- modules/hardware/bluetooth/default.nix | 7 +++- modules/hardware/default.nix | 2 +- modules/hardware/sound/default.nix | 11 ++++-- modules/hardware/wifi/default.nix | 9 ++++- pkgs/default.nix | 5 +-- 36 files changed, 349 insertions(+), 198 deletions(-) diff --git a/flake.nix b/flake.nix index bf33ccd..74463d3 100644 --- a/flake.nix +++ b/flake.nix @@ -1,7 +1,6 @@ { description = "NixOS configuration"; - inputs = { nix.url = "github:NixOS/nix"; nixpkgs.url = "nixpkgs/nixos-24.11"; @@ -14,22 +13,33 @@ }; # hyprland.url = "github:hyprwm/Hyprland"; - }; + }; - outputs = inputs@{ self, flake-parts, ... }: + outputs = + inputs@{ self, flake-parts, ... }: flake-parts.lib.mkFlake { inherit inputs; } { imports = [ ./machines/configuration.nix ]; - perSystem = { self', inputs', config, pkgs, system, ... }: { - # make pkgs available to all `perSystem` functions - _module.args.pkgs = import inputs.nixpkgs { - inherit system; + perSystem = + { + self', + inputs', + config, + pkgs, + system, + ... + }: + { + # make pkgs available to all `perSystem` functions + _module.args.pkgs = import inputs.nixpkgs { + inherit system; + }; }; - }; systems = [ "x86_64-linux" ]; }; + formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt-rfc-style; } diff --git a/machines/configuration.nix b/machines/configuration.nix index 67e18f2..ac64523 100644 --- a/machines/configuration.nix +++ b/machines/configuration.nix @@ -1,7 +1,6 @@ { self, ... }: let - inherit - (self.inputs) + inherit (self.inputs) nixpkgs nixpkgs-unstable nixos-hardware @@ -24,16 +23,19 @@ let } { imports = [ - ({ pkgs, ... }: { - nixpkgs.overlays = [ - overlay-unstable - (import ../pkgs) - ]; - nix.nixPath = [ - "nixpkgs=${pkgs.path}" - ]; - documentation.info.enable = false; - }) + ( + { pkgs, ... }: + { + nixpkgs.overlays = [ + overlay-unstable + (import ../pkgs) + ]; + nix.nixPath = [ + "nixpkgs=${pkgs.path}" + ]; + documentation.info.enable = false; + } + ) #hyprland.nixosModules.default ]; } @@ -60,4 +62,4 @@ in ]; }; }; -} \ No newline at end of file +} diff --git a/machines/configuration_old.nix b/machines/configuration_old.nix index d0e0dbf..19f29ed 100644 --- a/machines/configuration_old.nix +++ b/machines/configuration_old.nix @@ -5,10 +5,10 @@ { config, pkgs, ... }: { - imports = - [ # Include the results of the hardware scan. - ./hardware-configuration.nix - ]; + imports = [ + # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; # Bootloader. boot.loader.grub.enable = true; @@ -85,22 +85,25 @@ users.users.finn = { isNormalUser = true; description = "Finn Markwitz"; - extraGroups = [ "networkmanager" "wheel" ]; + extraGroups = [ + "networkmanager" + "wheel" + ]; packages = with pkgs; [ - firefox - jetbrains.webstorm - jetbrains.goland - jetbrains.pycharm-professional - jetbrains.idea-ultimate - thunderbird - google-chrome - discord - spotify - keepassxc - nextcloud-client - zsh - oh-my-zsh - neovim + firefox + jetbrains.webstorm + jetbrains.goland + jetbrains.pycharm-professional + jetbrains.idea-ultimate + thunderbird + google-chrome + discord + spotify + keepassxc + nextcloud-client + zsh + oh-my-zsh + neovim ]; }; diff --git a/machines/core/core.nix b/machines/core/core.nix index 1a69871..8c830a4 100644 --- a/machines/core/core.nix +++ b/machines/core/core.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: { # Packages environment.systemPackages = with pkgs; [ @@ -40,6 +45,7 @@ networkmanager lm_sensors systemctl-tui + nixfmt-rfc-style ]; time.timeZone = "Europe/Berlin"; @@ -63,4 +69,4 @@ LC_TIME = "de_DE.UTF-8"; }; -} \ No newline at end of file +} diff --git a/machines/core/default.nix b/machines/core/default.nix index 882e680..8f95b17 100644 --- a/machines/core/default.nix +++ b/machines/core/default.nix @@ -4,4 +4,4 @@ ./network.nix ./nix.nix ./users.nix -] \ No newline at end of file +] diff --git a/machines/core/modules.nix b/machines/core/modules.nix index 9760f1b..6d56072 100644 --- a/machines/core/modules.nix +++ b/machines/core/modules.nix @@ -1,3 +1,8 @@ # Generate via nix-generate -{ config, lib, pkgs, ... }: -{} \ No newline at end of file +{ + config, + lib, + pkgs, + ... +}: +{ } diff --git a/machines/core/network.nix b/machines/core/network.nix index 4277a34..a5410e5 100644 --- a/machines/core/network.nix +++ b/machines/core/network.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: { networking.networkmanager = { @@ -12,4 +17,4 @@ ]; }; -} \ No newline at end of file +} diff --git a/machines/core/nix.nix b/machines/core/nix.nix index 3e4359a..6a23115 100644 --- a/machines/core/nix.nix +++ b/machines/core/nix.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, inputs, ... }: +{ + config, + lib, + pkgs, + inputs, + ... +}: { nix = { daemonCPUSchedPolicy = "idle"; @@ -24,4 +30,4 @@ }; }; nixpkgs.config.allowUnfree = true; -} \ No newline at end of file +} diff --git a/machines/core/users.nix b/machines/core/users.nix index 644f11f..8e5e906 100644 --- a/machines/core/users.nix +++ b/machines/core/users.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: { users.users.finn = { @@ -24,4 +29,4 @@ users.groups.finn = { gid = 1000; }; -} \ No newline at end of file +} diff --git a/machines/jupiter/configuration.nix b/machines/jupiter/configuration.nix index a2c7520..9ae63de 100644 --- a/machines/jupiter/configuration.nix +++ b/machines/jupiter/configuration.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: { imports = [ @@ -8,20 +13,20 @@ ]; networking.hostName = "jupiter"; - + boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; boot.kernelPackages = pkgs.unstable.linuxPackages_latest; # Shitfuck SOnar Dotnet dependency nixpkgs.config = { - permittedInsecurePackages = [ - "aspnetcore-runtime-6.0.36" - "aspnetcore-runtime-wrapped-6.0.36" - "dotnet-sdk-6.0.428" - "dotnet-sdk-wrapped-6.0.428" - ]; - }; + permittedInsecurePackages = [ + "aspnetcore-runtime-6.0.36" + "aspnetcore-runtime-wrapped-6.0.36" + "dotnet-sdk-6.0.428" + "dotnet-sdk-wrapped-6.0.428" + ]; + }; services.openssh.enable = true; diff --git a/machines/jupiter/disks.nix b/machines/jupiter/disks.nix index 3a28256..4a9499d 100644 --- a/machines/jupiter/disks.nix +++ b/machines/jupiter/disks.nix @@ -1,22 +1,30 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: -#TODO: CHECK THIS OUT: https://github.com/nix-community/disko its kinda better but felix does not support it +#TODO: CHECK THIS OUT: https://github.com/nix-community/disko its kinda better but felix does not support it { - fileSystems."/" = - { device = "/dev/disk/by-uuid/c95c64ad-f131-4bde-9bca-a7a3692173da"; - fsType = "ext4"; - }; + fileSystems."/" = { + device = "/dev/disk/by-uuid/c95c64ad-f131-4bde-9bca-a7a3692173da"; + fsType = "ext4"; + }; - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/0D77-17BB"; - fsType = "vfat"; - }; + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/0D77-17BB"; + fsType = "vfat"; + }; - fileSystems."/data/nfs" = - { device = "voyager:/"; - fsType = "nfs"; - options = [ "x-systemd.automount" "noauto" ]; - }; + fileSystems."/data/nfs" = { + device = "voyager:/"; + fsType = "nfs"; + options = [ + "x-systemd.automount" + "noauto" + ]; + }; } diff --git a/machines/jupiter/hardware-configuration.nix b/machines/jupiter/hardware-configuration.nix index 3d095bf..13cbe80 100644 --- a/machines/jupiter/hardware-configuration.nix +++ b/machines/jupiter/hardware-configuration.nix @@ -1,14 +1,25 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: +{ + config, + lib, + pkgs, + modulesPath, + ... +}: { - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; - boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" ]; + boot.initrd.availableKernelModules = [ + "xhci_pci" + "ahci" + "nvme" + "usbhid" + ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-intel" ]; boot.extraModulePackages = [ ]; @@ -16,7 +27,7 @@ # 9a49 nixpkgs.config.packageOverrides = pkgs: { - vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; }; + vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; }; }; hardware.opengl = { enable = true; @@ -33,16 +44,15 @@ enableGraphical = true; }; + fileSystems."/" = { + device = "/dev/disk/by-uuid/c95c64ad-f131-4bde-9bca-a7a3692173da"; + fsType = "ext4"; + }; - fileSystems."/" = - { device = "/dev/disk/by-uuid/c95c64ad-f131-4bde-9bca-a7a3692173da"; - fsType = "ext4"; - }; - - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/0D77-17BB"; - fsType = "vfat"; - }; + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/0D77-17BB"; + fsType = "vfat"; + }; swapDevices = [ ]; diff --git a/machines/mibook/configuration.nix b/machines/mibook/configuration.nix index afc02aa..b7d1bfa 100644 --- a/machines/mibook/configuration.nix +++ b/machines/mibook/configuration.nix @@ -1,4 +1,9 @@ -{ config, pkgs, lib, ... }: +{ + config, + pkgs, + lib, + ... +}: { imports = [ @@ -50,9 +55,8 @@ #media-session.enable = true; }; - system = { stateVersion = "23.05"; autoUpgrade.enable = true; }; -} \ No newline at end of file +} diff --git a/machines/mibook/disks.nix b/machines/mibook/disks.nix index 31f92bd..6ac41c9 100644 --- a/machines/mibook/disks.nix +++ b/machines/mibook/disks.nix @@ -1,10 +1,15 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: -#TODO: CHECK THIS OUT: https://github.com/nix-community/disko its kinda better but felix does not support it +#TODO: CHECK THIS OUT: https://github.com/nix-community/disko its kinda better but felix does not support it { - fileSystems."/" = - { device = "/dev/disk/by-uuid/077abdb0-cbc1-4589-b411-25ecc157488f"; - fsType = "ext4"; - }; + fileSystems."/" = { + device = "/dev/disk/by-uuid/077abdb0-cbc1-4589-b411-25ecc157488f"; + fsType = "ext4"; + }; } diff --git a/machines/mibook/environments.nix b/machines/mibook/environments.nix index 9655e58..d1a2d8e 100644 --- a/machines/mibook/environments.nix +++ b/machines/mibook/environments.nix @@ -12,4 +12,4 @@ in dev_apps = true; }; }; -} \ No newline at end of file +} diff --git a/machines/mibook/hardware-configuration.nix b/machines/mibook/hardware-configuration.nix index 5d56eb6..e4303e0 100644 --- a/machines/mibook/hardware-configuration.nix +++ b/machines/mibook/hardware-configuration.nix @@ -1,22 +1,32 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: +{ + config, + lib, + pkgs, + modulesPath, + ... +}: { - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; - boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" ]; + boot.initrd.availableKernelModules = [ + "xhci_pci" + "ahci" + "nvme" + ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-intel" ]; boot.extraModulePackages = [ ]; - fileSystems."/" = - { device = "/dev/disk/by-uuid/077abdb0-cbc1-4589-b411-25ecc157488f"; - fsType = "ext4"; - }; + fileSystems."/" = { + device = "/dev/disk/by-uuid/077abdb0-cbc1-4589-b411-25ecc157488f"; + fsType = "ext4"; + }; swapDevices = [ ]; diff --git a/modules/default.nix b/modules/default.nix index e6144e5..2c50bf8 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -4,4 +4,4 @@ ./environments ./hardware ]; -} \ No newline at end of file +} diff --git a/modules/environments/apps/default.nix b/modules/environments/apps/default.nix index f577fa7..0bd4255 100644 --- a/modules/environments/apps/default.nix +++ b/modules/environments/apps/default.nix @@ -1,10 +1,13 @@ - -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.my.profiles.apps; - in { - - +in +{ options.my.profiles.apps = with lib; { desktop_apps = mkEnableOption "Basic Apps"; @@ -16,17 +19,17 @@ let users.users.finn.packages = with pkgs; [ firefox thunderbird - google-chrome + google-chrome vscode - discord - spotify - keepassxc + discord + spotify + keepassxc moonlight-qt - nextcloud-client - pipewire + nextcloud-client + pipewire wireplumber - vlc + vlc ghostty ]; - }; - } + }; +} diff --git a/modules/environments/default.nix b/modules/environments/default.nix index 038af51..cc5cab2 100644 --- a/modules/environments/default.nix +++ b/modules/environments/default.nix @@ -15,4 +15,4 @@ ./jellyfin ./jellyseerr ]; -} \ No newline at end of file +} diff --git a/modules/environments/development/default.nix b/modules/environments/development/default.nix index ca9fcea..615f936 100644 --- a/modules/environments/development/default.nix +++ b/modules/environments/development/default.nix @@ -1,6 +1,13 @@ -{ config, lib, pkgs, ... }: -let cfg = config.my.profiles.development; -in { +{ + config, + lib, + pkgs, + ... +}: +let + cfg = config.my.profiles.development; +in +{ options.my.profiles.development = with lib; { enable = mkEnableOption "Development Tools"; diff --git a/modules/environments/docker/default.nix b/modules/environments/docker/default.nix index b3cd871..4917f17 100644 --- a/modules/environments/docker/default.nix +++ b/modules/environments/docker/default.nix @@ -1,5 +1,12 @@ # Docker related settings -{ config, inputs, lib, options, pkgs, ... }: +{ + config, + inputs, + lib, + options, + pkgs, + ... +}: let cfg = config.my.profiles.docker; in @@ -19,4 +26,4 @@ in autoPrune.enable = true; }; }; -} \ No newline at end of file +} diff --git a/modules/environments/hyprland/default.nix b/modules/environments/hyprland/default.nix index 32594ff..c8aa0c5 100644 --- a/modules/environments/hyprland/default.nix +++ b/modules/environments/hyprland/default.nix @@ -1,7 +1,13 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.my.profiles.hyprland; - in { +in +{ options.my.profiles.hyprland = with lib; { enable = mkEnableOption "hyprland env"; }; @@ -12,12 +18,11 @@ let xwayland.enable = true; }; - services.displayManager.sddm.wayland.enable = true; services.xserver = { - layout = "de"; - xkbVariant = ""; - }; + layout = "de"; + xkbVariant = ""; + }; users.users.finn.packages = with pkgs; [ wofi mako @@ -30,12 +35,12 @@ let #xdg-desktop-portal-hyprland ]; hardware = { - # Opengl - opengl.enable = true; + # Opengl + opengl.enable = true; - # Most wayland compositors need this - nvidia.modesetting.enable = true; - }; + # Most wayland compositors need this + nvidia.modesetting.enable = true; + }; }; } diff --git a/modules/environments/jellyfin/default.nix b/modules/environments/jellyfin/default.nix index 7a63ae8..88e165c 100644 --- a/modules/environments/jellyfin/default.nix +++ b/modules/environments/jellyfin/default.nix @@ -1,5 +1,10 @@ # manages and downloads films -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.my.profiles.jellyfin; in @@ -15,9 +20,8 @@ in openFirewall = true; }; - systemd.services.jellyfin = { after = [ "network-online.target" ]; }; }; -} \ No newline at end of file +} diff --git a/modules/environments/jellyseerr/default.nix b/modules/environments/jellyseerr/default.nix index 659874e..11bbbb3 100644 --- a/modules/environments/jellyseerr/default.nix +++ b/modules/environments/jellyseerr/default.nix @@ -1,4 +1,3 @@ - # manages and downloads films { config, lib, ... }: let @@ -20,4 +19,4 @@ in after = [ "network-online.target" ]; }; }; -} \ No newline at end of file +} diff --git a/modules/environments/kde-desktop/default.nix b/modules/environments/kde-desktop/default.nix index 3a554db..0a7cbc6 100644 --- a/modules/environments/kde-desktop/default.nix +++ b/modules/environments/kde-desktop/default.nix @@ -1,5 +1,10 @@ # KDE Desktio Environment -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.my.profiles.kde-desktop; in @@ -10,13 +15,13 @@ in config = lib.mkIf cfg.enable { services.xserver = { - enable = true; - displayManager.sddm.enable = true; - desktopManager.plasma5.enable = true; + enable = true; + displayManager.sddm.enable = true; + desktopManager.plasma5.enable = true; }; users.users.finn.packages = with pkgs; [ # Programms can be added here... numix-icon-theme ]; }; -} \ No newline at end of file +} diff --git a/modules/environments/paperless/default.nix b/modules/environments/paperless/default.nix index 2865247..967c485 100644 --- a/modules/environments/paperless/default.nix +++ b/modules/environments/paperless/default.nix @@ -8,18 +8,20 @@ in enable = mkEnableOption "Paperless Server"; port = mkOption { - type = types.port; - default = 28981; - example = 8080; - description = "Internal port for webui"; - }; + type = types.port; + default = 28981; + example = 8080; + description = "Internal port for webui"; + }; extraConfig = mkOption { - type = types.attrs; - default = {}; - example = { PAPERLESS_OCR_LANGUAGE = "deu+eng"; }; - description = "Extra configuration options"; - }; + type = types.attrs; + default = { }; + example = { + PAPERLESS_OCR_LANGUAGE = "deu+eng"; + }; + description = "Extra configuration options"; + }; }; config = lib.mkIf cfg.enable { @@ -33,4 +35,4 @@ in }; networking.firewall.allowedTCPPorts = [ cfg.port ]; }; -} \ No newline at end of file +} diff --git a/modules/environments/prowlarr/default.nix b/modules/environments/prowlarr/default.nix index d53b78c..9584d3f 100644 --- a/modules/environments/prowlarr/default.nix +++ b/modules/environments/prowlarr/default.nix @@ -1,10 +1,15 @@ # manages indexes -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.my.profiles.prowlarr; - # domain = config.networking.domain; - # port = 9696; in +# domain = config.networking.domain; +# port = 9696; { options.my.profiles.prowlarr = with lib; { enable = mkEnableOption "Prowlarr for indexing"; @@ -30,4 +35,4 @@ in after = [ "network-online.target" ]; }; }; -} \ No newline at end of file +} diff --git a/modules/environments/radarr/default.nix b/modules/environments/radarr/default.nix index 7a4f96a..a2c1d6f 100644 --- a/modules/environments/radarr/default.nix +++ b/modules/environments/radarr/default.nix @@ -1,10 +1,15 @@ # manages and downloads films -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.my.profiles.radarr; - # domain = config.networking.domain; - # port = 7878; in +# domain = config.networking.domain; +# port = 7878; { options.my.profiles.radarr = with lib; { enable = mkEnableOption "Sonarr for films management"; @@ -23,4 +28,4 @@ in after = [ "network-online.target" ]; }; }; -} \ No newline at end of file +} diff --git a/modules/environments/readarr/default.nix b/modules/environments/readarr/default.nix index 82ca277..e95a623 100644 --- a/modules/environments/readarr/default.nix +++ b/modules/environments/readarr/default.nix @@ -1,10 +1,15 @@ # manages and downloads films -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.my.profiles.readarr; - # domain = config.networking.domain; - # port = 7878; in +# domain = config.networking.domain; +# port = 7878; { options.my.profiles.readarr = with lib; { enable = mkEnableOption "Readarr for ebook management"; @@ -23,4 +28,4 @@ in after = [ "network-online.target" ]; }; }; -} \ No newline at end of file +} diff --git a/modules/environments/sonarr/default.nix b/modules/environments/sonarr/default.nix index 8f1dd9c..084a286 100644 --- a/modules/environments/sonarr/default.nix +++ b/modules/environments/sonarr/default.nix @@ -1,9 +1,14 @@ # manages and downloads films -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.my.profiles.sonarr; # domain = config.networking.domain; - port = 8989; + port = 8989; in { options.my.profiles.sonarr = with lib; { @@ -23,4 +28,4 @@ in after = [ "network-online.target" ]; }; }; -} \ No newline at end of file +} diff --git a/modules/environments/zsh/default.nix b/modules/environments/zsh/default.nix index b469db7..09ceeb7 100644 --- a/modules/environments/zsh/default.nix +++ b/modules/environments/zsh/default.nix @@ -1,9 +1,13 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.my.profiles.zsh; - in { - - +in +{ options.my.profiles.zsh = with lib; { enable = mkEnableOption "zsh env"; @@ -12,13 +16,12 @@ let config = lib.mkIf cfg.enable { users.defaultUserShell = pkgs.zsh; programs.zsh = { + enable = true; + ohMyZsh = { enable = true; - ohMyZsh = { - enable = true; - theme = "agnoster"; - }; + theme = "agnoster"; + }; }; - }; - + }; } diff --git a/modules/hardware/bluetooth/default.nix b/modules/hardware/bluetooth/default.nix index dab77e7..d00c942 100644 --- a/modules/hardware/bluetooth/default.nix +++ b/modules/hardware/bluetooth/default.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.my.hardware.bluetooth; in diff --git a/modules/hardware/default.nix b/modules/hardware/default.nix index 71e9c03..59038c3 100644 --- a/modules/hardware/default.nix +++ b/modules/hardware/default.nix @@ -14,4 +14,4 @@ #./thunderbolt #./wifi ]; -} \ No newline at end of file +} diff --git a/modules/hardware/sound/default.nix b/modules/hardware/sound/default.nix index 8e802d5..4c4a7f2 100644 --- a/modules/hardware/sound/default.nix +++ b/modules/hardware/sound/default.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.my.hardware.bluetooth; in @@ -7,8 +12,6 @@ in enable = mkEnableOption "Sound configuration"; }; - - config = lib.mkIf cfg.enable { hardware.pulseaudio.enable = false; hardware.pulseaudio.support32Bit = true; @@ -17,4 +20,4 @@ in headsetcontrol ]; }; -} \ No newline at end of file +} diff --git a/modules/hardware/wifi/default.nix b/modules/hardware/wifi/default.nix index d430c8d..8b0f648 100644 --- a/modules/hardware/wifi/default.nix +++ b/modules/hardware/wifi/default.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.my.hardware.wifi; in @@ -13,4 +18,4 @@ in package = pkgs.rtw89-firmware; }; }; -} \ No newline at end of file +} diff --git a/pkgs/default.nix b/pkgs/default.nix index 7a11111..bebb2e9 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,4 +1,3 @@ -final: prev: -{ +final: prev: { # homer = final.callPackage ./homer { }; -} \ No newline at end of file +} From ce4e8225f9611c3279f1dd978745507f523090ff Mon Sep 17 00:00:00 2001 From: "finn.markwitz" Date: Tue, 18 Feb 2025 20:52:16 +0100 Subject: [PATCH 11/14] feat: Tailscale VPN Setup --- flake.nix | 1 - machines/jupiter/environments.nix | 4 ++++ modules/default.nix | 1 + modules/services/default.nix | 8 ++++++++ modules/services/vpn/default.nix | 19 +++++++++++++++++++ 5 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 modules/services/default.nix create mode 100644 modules/services/vpn/default.nix diff --git a/flake.nix b/flake.nix index 74463d3..e92a04d 100644 --- a/flake.nix +++ b/flake.nix @@ -41,5 +41,4 @@ systems = [ "x86_64-linux" ]; }; - formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt-rfc-style; } diff --git a/machines/jupiter/environments.nix b/machines/jupiter/environments.nix index eb57d89..271715e 100644 --- a/machines/jupiter/environments.nix +++ b/machines/jupiter/environments.nix @@ -35,4 +35,8 @@ in bluetooth.enable = true; sound.enable = true; }; + + my.services = { + vpn.enable = true; + }; } diff --git a/modules/default.nix b/modules/default.nix index 2c50bf8..255962d 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -3,5 +3,6 @@ imports = [ ./environments ./hardware + ./services ]; } diff --git a/modules/services/default.nix b/modules/services/default.nix new file mode 100644 index 0000000..46a0a16 --- /dev/null +++ b/modules/services/default.nix @@ -0,0 +1,8 @@ +# Service-related modules +{ ... }: + +{ + imports = [ + ./vpn + ]; +} diff --git a/modules/services/vpn/default.nix b/modules/services/vpn/default.nix new file mode 100644 index 0000000..7702410 --- /dev/null +++ b/modules/services/vpn/default.nix @@ -0,0 +1,19 @@ +# self-hosted vpn +{ config, lib, ... }: +let + cfg = config.my.services.vpn; + inherit (config.networking) domain; +in +{ + options.my.services.vpn = with lib; { + enable = mkEnableOption "Headscale VPN Setup"; + }; + + config = lib.mkIf cfg.enable ( + lib.mkMerge [ + { + services.tailscale.enable = true; + } + ] + ); +} From 256fdc850b9e2560ea7b9ac8a1b624e23538ea45 Mon Sep 17 00:00:00 2001 From: "finn.markwitz" Date: Mon, 24 Mar 2025 12:58:57 +0100 Subject: [PATCH 12/14] feat: Updated Drive IDs for new M2 SSD --- machines/jupiter/disks.nix | 16 ++++++++-------- machines/jupiter/hardware-configuration.nix | 19 ++++++++++--------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/machines/jupiter/disks.nix b/machines/jupiter/disks.nix index 4a9499d..950787d 100644 --- a/machines/jupiter/disks.nix +++ b/machines/jupiter/disks.nix @@ -8,15 +8,15 @@ #TODO: CHECK THIS OUT: https://github.com/nix-community/disko its kinda better but felix does not support it { - fileSystems."/" = { - device = "/dev/disk/by-uuid/c95c64ad-f131-4bde-9bca-a7a3692173da"; - fsType = "ext4"; - }; + fileSystems."/" = + { device = "/dev/disk/by-uuid/8e3ac6ce-6865-49d8-b6d0-d7c008de391e"; + fsType = "ext4"; + }; - fileSystems."/boot" = { - device = "/dev/disk/by-uuid/0D77-17BB"; - fsType = "vfat"; - }; + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/F193-2A35"; + fsType = "vfat"; + }; fileSystems."/data/nfs" = { device = "voyager:/"; diff --git a/machines/jupiter/hardware-configuration.nix b/machines/jupiter/hardware-configuration.nix index 13cbe80..be2142d 100644 --- a/machines/jupiter/hardware-configuration.nix +++ b/machines/jupiter/hardware-configuration.nix @@ -44,17 +44,18 @@ enableGraphical = true; }; - fileSystems."/" = { - device = "/dev/disk/by-uuid/c95c64ad-f131-4bde-9bca-a7a3692173da"; - fsType = "ext4"; - }; + fileSystems."/" = + { device = "/dev/disk/by-uuid/8e3ac6ce-6865-49d8-b6d0-d7c008de391e"; + fsType = "ext4"; + }; - fileSystems."/boot" = { - device = "/dev/disk/by-uuid/0D77-17BB"; - fsType = "vfat"; - }; + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/F193-2A35"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; - swapDevices = [ ]; + swapDevices = [ { device = "/dev/disk/by-uuid/7ffb2d2b-c03d-474b-8513-fee26e1e5e2f"; } ]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's From b8026594621eaefdf380418db0d4dd5c47a22cee Mon Sep 17 00:00:00 2001 From: "finn.markwitz" Date: Tue, 17 Jun 2025 22:10:21 +0200 Subject: [PATCH 13/14] feat: Nixos 25.05 --- flake.lock | 8 ++++---- flake.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/flake.lock b/flake.lock index 84779e3..8b9c5b0 100644 --- a/flake.lock +++ b/flake.lock @@ -274,16 +274,16 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1737885640, - "narHash": "sha256-GFzPxJzTd1rPIVD4IW+GwJlyGwBDV1Tj5FLYwDQQ9sM=", + "lastModified": 1750005367, + "narHash": "sha256-h/aac1dGLhS3qpaD2aZt25NdKY7b+JT0ZIP2WuGsJMU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4e96537f163fad24ed9eb317798a79afc85b51b7", + "rev": "6c64dabd3aa85e0c02ef1cdcb6e1213de64baee3", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-24.11", + "ref": "nixos-25.05", "type": "indirect" } }, diff --git a/flake.nix b/flake.nix index e92a04d..c44afad 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ inputs = { nix.url = "github:NixOS/nix"; - nixpkgs.url = "nixpkgs/nixos-24.11"; + nixpkgs.url = "nixpkgs/nixos-25.05"; nixpkgs-unstable.url = "nixpkgs/nixos-unstable"; flake-parts.url = "github:hercules-ci/flake-parts"; nixos-hardware.url = "github:NixOS/nixos-hardware"; From 49371f2e2baa471e287dfa45fa519ed77931c843 Mon Sep 17 00:00:00 2001 From: "finn.markwitz" Date: Tue, 12 Aug 2025 21:54:20 +0200 Subject: [PATCH 14/14] feat: fwupd --- machines/core/core.nix | 2 +- machines/jupiter/configuration.nix | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/machines/core/core.nix b/machines/core/core.nix index 8c830a4..f6d8eaa 100644 --- a/machines/core/core.nix +++ b/machines/core/core.nix @@ -12,11 +12,11 @@ borgbackup cryptsetup file + fwupd fzf gettext git gitAndTools.delta - gnufdisk gptfdisk htop jq diff --git a/machines/jupiter/configuration.nix b/machines/jupiter/configuration.nix index 9ae63de..715a350 100644 --- a/machines/jupiter/configuration.nix +++ b/machines/jupiter/configuration.nix @@ -41,6 +41,7 @@ # Enable CUPS to print documents. services.printing.enable = true; + services.fwupd.enable = true; security.rtkit.enable = true;