Merge branch 'moonlight' into 'master'

feat: Moonlight Setup & OS Update

See merge request finn.markwitz/nixos!5
This commit is contained in:
2025-08-12 20:24:57 +00:00
41 changed files with 513 additions and 521 deletions
Generated
+87 -289
View File
@@ -3,11 +3,11 @@
"flake-compat": { "flake-compat": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1673956053, "lastModified": 1733328505,
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
"owner": "edolstra", "owner": "edolstra",
"repo": "flake-compat", "repo": "flake-compat",
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -21,11 +21,11 @@
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1719877454, "lastModified": 1736143030,
"narHash": "sha256-g5N1yyOSsPNiOlFfkuI/wcUjmtah+nxdImJqrSATjOU=", "narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "4e3583423212f9303aa1a6337f8dffb415920e4f", "rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -42,11 +42,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1712014858, "lastModified": 1733312601,
"narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -56,12 +56,15 @@
} }
}, },
"flake-utils": { "flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": { "locked": {
"lastModified": 1667395993, "lastModified": 1710146030,
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -70,178 +73,34 @@
"type": "github" "type": "github"
} }
}, },
"hyprcursor": { "git-hooks-nix": {
"inputs": { "inputs": {
"hyprlang": [ "flake-compat": [
"hyprland", "nix"
"hyprlang" ],
"gitignore": [
"nix"
], ],
"nixpkgs": [ "nixpkgs": [
"hyprland", "nix",
"nixpkgs" "nixpkgs"
], ],
"systems": [ "nixpkgs-stable": [
"hyprland", "nix",
"systems" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1718450675, "lastModified": 1734279981,
"narHash": "sha256-jpsns6buS4bK+1sF8sL8AaixAiCRjA+nldTKvcwmvUs=", "narHash": "sha256-NdaCraHPp8iYMWzdXAt5Nv6sA3MUzlCiGiR586TCwo0=",
"owner": "hyprwm", "owner": "cachix",
"repo": "hyprcursor", "repo": "git-hooks.nix",
"rev": "66d5b46ff94efbfa6fa3d1d1b66735f1779c34a6", "rev": "aa9f40c906904ebd83da78e7f328cd8aeaeae785",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "hyprwm", "owner": "cachix",
"repo": "hyprcursor", "repo": "git-hooks.nix",
"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",
"type": "github" "type": "github"
} }
}, },
@@ -249,18 +108,18 @@
"inputs": { "inputs": {
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
"flake-parts": "flake-parts_2", "flake-parts": "flake-parts_2",
"libgit2": "libgit2", "git-hooks-nix": "git-hooks-nix",
"nixpkgs": "nixpkgs_2", "nixfmt": "nixfmt",
"nixpkgs": "nixpkgs",
"nixpkgs-23-11": "nixpkgs-23-11", "nixpkgs-23-11": "nixpkgs-23-11",
"nixpkgs-regression": "nixpkgs-regression", "nixpkgs-regression": "nixpkgs-regression"
"pre-commit-hooks": "pre-commit-hooks"
}, },
"locked": { "locked": {
"lastModified": 1719873912, "lastModified": 1738052114,
"narHash": "sha256-i+qQmaneLQKD/LYgZuCp+/dkyiqUW9+b9rSQ1i2oZCQ=", "narHash": "sha256-OqHJ6mnBh2Ayqr2Sz7FUR2gOzupBBh9zC1DAaj61+OA=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nix", "repo": "nix",
"rev": "80d67d603b68d5b1eae468c8be3016117dcaefb2", "rev": "fbe2940a08b0f850ee3a01978256b4c4d5906587",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -269,13 +128,31 @@
"type": "github" "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": { "nixlib": {
"locked": { "locked": {
"lastModified": 1719708727, "lastModified": 1736643958,
"narHash": "sha256-XFNKtyirrGNdehpg7lMNm1skEcBApjqGhaHc/OI95HY=", "narHash": "sha256-tmpqTSWVRJVhpvfSN9KXBvKEXplrwKnSZNAoNPf/S/s=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs.lib", "repo": "nixpkgs.lib",
"rev": "1bba8a624b3b9d4f68db94fb63aaeb46039ce9e6", "rev": "1418bc28a52126761c02dd3d89b2d8ca0f521181",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -292,11 +169,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1719841141, "lastModified": 1737057290,
"narHash": "sha256-WOyohxFJJdfDvEB7N3eTcX44lNU2rZes1inHsyHL7mM=", "narHash": "sha256-3Pe0yKlCc7EOeq1X/aJVDH0CtNL+tIBm49vpepwL1MQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixos-generators", "repo": "nixos-generators",
"rev": "140dcc2b9a0eb87ba5e9011076a1a7af19179ab1", "rev": "d002ce9b6e7eb467cd1c6bb9aef9c35d191b5453",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -307,11 +184,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1719895800, "lastModified": 1737751639,
"narHash": "sha256-xNbjISJTFailxass4LmdWeV4jNhAlmJPwj46a/GxE6M=", "narHash": "sha256-ZEbOJ9iT72iwqXsiEMbEa8wWjyFvRA9Ugx8utmYbpz4=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "6e253f12b1009053eff5344be5e835f604bb64cd", "rev": "dfad538f751a5aa5d4436d9781ab27a6128ec9d4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -322,16 +199,16 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1719075281, "lastModified": 1734359947,
"narHash": "sha256-CyyxvOwFf12I91PBWz43iGT1kjsf5oi6ax7CrvaMyAo=", "narHash": "sha256-1Noao/H+N8nFB4Beoy8fgwrcOQLVm9o4zKW1ODaqK9E=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "a71e967ef3694799d0c418c98332f7ff4cc5f6af", "rev": "48d12d5e70ee91fe8481378e540433a7303dbf6a",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-unstable", "ref": "release-24.11",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@@ -354,14 +231,14 @@
}, },
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"lastModified": 1719876945, "lastModified": 1735774519,
"narHash": "sha256-Fm2rDDs86sHy0/1jxTOKB1118Q0O3Uc7EC0iXvXKpbI=", "narHash": "sha256-CewEm1o2eVAnoqb6Ml+Qi9Gg/EfNAxbRx1lANGVyoLI=",
"type": "tarball", "type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz" "url": "https://github.com/NixOS/nixpkgs/archive/e9b51731911566bbf7e4895475a87fe06961de0b.tar.gz"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz" "url": "https://github.com/NixOS/nixpkgs/archive/e9b51731911566bbf7e4895475a87fe06961de0b.tar.gz"
} }
}, },
"nixpkgs-regression": { "nixpkgs-regression": {
@@ -382,11 +259,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1719848872, "lastModified": 1737885589,
"narHash": "sha256-H3+EC5cYuq+gQW8y0lSrrDZfH71LB4DAf+TDFyvwCNA=", "narHash": "sha256-Zf0hSrtzaM1DEz8//+Xs51k/wdSajticVrATqDrfQjg=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "00d80d13810dbfea8ab4ed1009b09100cca86ba8", "rev": "852ff1d9e153d8875a83602e03fdef8a63f0ecf8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -397,120 +274,41 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1717432640, "lastModified": 1750005367,
"narHash": "sha256-+f9c4/ZX5MWDOuB1rKoWj+lBNm0z0rs4CK47HBLxy1o=", "narHash": "sha256-h/aac1dGLhS3qpaD2aZt25NdKY7b+JT0ZIP2WuGsJMU=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "88269ab3044128b7c2f4c7d68448b2fb50456870", "rev": "6c64dabd3aa85e0c02ef1cdcb6e1213de64baee3",
"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",
"type": "github" "type": "github"
}, },
"original": { "original": {
"id": "nixpkgs", "id": "nixpkgs",
"ref": "nixos-24.11", "ref": "nixos-25.05",
"type": "indirect" "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": { "root": {
"inputs": { "inputs": {
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"hyprland": "hyprland",
"nix": "nix", "nix": "nix",
"nixos-generators": "nixos-generators", "nixos-generators": "nixos-generators",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_3", "nixpkgs": "nixpkgs_2",
"nixpkgs-unstable": "nixpkgs-unstable" "nixpkgs-unstable": "nixpkgs-unstable"
} }
}, },
"systems": { "systems": {
"locked": { "locked": {
"lastModified": 1689347949, "lastModified": 1681028828,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems", "owner": "nix-systems",
"repo": "default-linux", "repo": "default",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-systems", "owner": "nix-systems",
"repo": "default-linux", "repo": "default",
"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" "type": "github"
} }
} }
+19 -10
View File
@@ -1,10 +1,9 @@
{ {
description = "NixOS configuration"; description = "NixOS configuration";
inputs = { inputs = {
nix.url = "github:NixOS/nix"; nix.url = "github:NixOS/nix";
nixpkgs.url = "nixpkgs/nixos-24.11"; nixpkgs.url = "nixpkgs/nixos-25.05";
nixpkgs-unstable.url = "nixpkgs/nixos-unstable"; nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
flake-parts.url = "github:hercules-ci/flake-parts"; flake-parts.url = "github:hercules-ci/flake-parts";
nixos-hardware.url = "github:NixOS/nixos-hardware"; nixos-hardware.url = "github:NixOS/nixos-hardware";
@@ -12,23 +11,33 @@
url = "github:nix-community/nixos-generators"; url = "github:nix-community/nixos-generators";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
hyprland.url = "github:hyprwm/Hyprland"; # hyprland.url = "github:hyprwm/Hyprland";
}; };
outputs = inputs@{ self, flake-parts, ... }: outputs =
inputs@{ self, flake-parts, ... }:
flake-parts.lib.mkFlake { inherit inputs; } { flake-parts.lib.mkFlake { inherit inputs; } {
imports = [ imports = [
./machines/configuration.nix ./machines/configuration.nix
]; ];
perSystem = { self', inputs', config, pkgs, system, ... }: { perSystem =
# make pkgs available to all `perSystem` functions {
_module.args.pkgs = import inputs.nixpkgs { self',
inherit system; inputs',
config,
pkgs,
system,
...
}:
{
# make pkgs available to all `perSystem` functions
_module.args.pkgs = import inputs.nixpkgs {
inherit system;
};
}; };
};
systems = [ "x86_64-linux" ]; systems = [ "x86_64-linux" ];
}; };
+17 -15
View File
@@ -1,11 +1,10 @@
{ self, ... }: { self, ... }:
let let
inherit inherit (self.inputs)
(self.inputs)
nixpkgs nixpkgs
nixpkgs-unstable nixpkgs-unstable
nixos-hardware nixos-hardware
hyprland #hyprland
; ;
nixosSystem = nixpkgs.lib.makeOverridable nixpkgs.lib.nixosSystem; nixosSystem = nixpkgs.lib.makeOverridable nixpkgs.lib.nixosSystem;
overlay-unstable = final: prev: { overlay-unstable = final: prev: {
@@ -24,17 +23,20 @@ let
} }
{ {
imports = [ imports = [
({ pkgs, ... }: { (
nixpkgs.overlays = [ { pkgs, ... }:
overlay-unstable {
(import ../pkgs) nixpkgs.overlays = [
]; overlay-unstable
nix.nixPath = [ (import ../pkgs)
"nixpkgs=${pkgs.path}" ];
]; nix.nixPath = [
documentation.info.enable = false; "nixpkgs=${pkgs.path}"
}) ];
hyprland.nixosModules.default documentation.info.enable = false;
}
)
#hyprland.nixosModules.default
]; ];
} }
../modules ../modules
@@ -60,4 +62,4 @@ in
]; ];
}; };
}; };
} }
+22 -19
View File
@@ -5,10 +5,10 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
imports = imports = [
[ # Include the results of the hardware scan. # Include the results of the hardware scan.
./hardware-configuration.nix ./hardware-configuration.nix
]; ];
# Bootloader. # Bootloader.
boot.loader.grub.enable = true; boot.loader.grub.enable = true;
@@ -85,22 +85,25 @@
users.users.finn = { users.users.finn = {
isNormalUser = true; isNormalUser = true;
description = "Finn Markwitz"; description = "Finn Markwitz";
extraGroups = [ "networkmanager" "wheel" ]; extraGroups = [
"networkmanager"
"wheel"
];
packages = with pkgs; [ packages = with pkgs; [
firefox firefox
jetbrains.webstorm jetbrains.webstorm
jetbrains.goland jetbrains.goland
jetbrains.pycharm-professional jetbrains.pycharm-professional
jetbrains.idea-ultimate jetbrains.idea-ultimate
thunderbird thunderbird
google-chrome google-chrome
discord discord
spotify spotify
keepassxc keepassxc
nextcloud-client nextcloud-client
zsh zsh
oh-my-zsh oh-my-zsh
neovim neovim
]; ];
}; };
+11 -3
View File
@@ -1,4 +1,9 @@
{ config, pkgs, lib, ... }: {
config,
pkgs,
lib,
...
}:
{ {
# Packages # Packages
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
@@ -7,11 +12,11 @@
borgbackup borgbackup
cryptsetup cryptsetup
file file
fwupd
fzf fzf
gettext gettext
git git
gitAndTools.delta gitAndTools.delta
gnufdisk
gptfdisk gptfdisk
htop htop
jq jq
@@ -38,6 +43,9 @@
zip zip
unzip unzip
networkmanager networkmanager
lm_sensors
systemctl-tui
nixfmt-rfc-style
]; ];
time.timeZone = "Europe/Berlin"; time.timeZone = "Europe/Berlin";
@@ -61,4 +69,4 @@
LC_TIME = "de_DE.UTF-8"; LC_TIME = "de_DE.UTF-8";
}; };
} }
+1 -1
View File
@@ -4,4 +4,4 @@
./network.nix ./network.nix
./nix.nix ./nix.nix
./users.nix ./users.nix
] ]
+7 -2
View File
@@ -1,3 +1,8 @@
# Generate via nix-generate # Generate via nix-generate
{ config, lib, pkgs, ... }: {
{} config,
lib,
pkgs,
...
}:
{ }
+7 -2
View File
@@ -1,4 +1,9 @@
{ config, lib, pkgs, ... }: {
config,
lib,
pkgs,
...
}:
{ {
networking.networkmanager = { networking.networkmanager = {
@@ -12,4 +17,4 @@
]; ];
}; };
} }
+8 -2
View File
@@ -1,4 +1,10 @@
{ config, lib, pkgs, inputs, ... }: {
config,
lib,
pkgs,
inputs,
...
}:
{ {
nix = { nix = {
daemonCPUSchedPolicy = "idle"; daemonCPUSchedPolicy = "idle";
@@ -24,4 +30,4 @@
}; };
}; };
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
} }
+7 -2
View File
@@ -1,4 +1,9 @@
{ config, pkgs, lib, ... }: {
config,
pkgs,
lib,
...
}:
{ {
users.users.finn = { users.users.finn = {
@@ -24,4 +29,4 @@
users.groups.finn = { users.groups.finn = {
gid = 1000; gid = 1000;
}; };
} }
+15 -20
View File
@@ -1,38 +1,32 @@
{ config, pkgs, lib, ... }: {
config,
pkgs,
lib,
...
}:
{ {
imports = [ imports = [
./disks.nix ./disks.nix
./hardware-configuration.nix ./hardware-configuration.nix
./environments.nix ./environments.nix
# ./system.nix use docker here
]; ];
networking.hostName = "jupiter"; networking.hostName = "jupiter";
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
boot.kernelPackages = pkgs.unstable.linuxPackages_latest; boot.kernelPackages = pkgs.unstable.linuxPackages_latest;
# Shitfuck SOnar Dotnet dependency # Shitfuck SOnar Dotnet dependency
nixpkgs.config = { nixpkgs.config = {
permittedInsecurePackages = [ permittedInsecurePackages = [
"aspnetcore-runtime-6.0.36" "aspnetcore-runtime-6.0.36"
"aspnetcore-runtime-wrapped-6.0.36" "aspnetcore-runtime-wrapped-6.0.36"
"dotnet-sdk-6.0.428" "dotnet-sdk-6.0.428"
"dotnet-sdk-wrapped-6.0.428" "dotnet-sdk-wrapped-6.0.428"
]; ];
}; };
# 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; services.openssh.enable = true;
@@ -47,6 +41,7 @@
# Enable CUPS to print documents. # Enable CUPS to print documents.
services.printing.enable = true; services.printing.enable = true;
services.fwupd.enable = true;
security.rtkit.enable = true; security.rtkit.enable = true;
+17 -9
View File
@@ -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."/" = fileSystems."/" =
{ device = "/dev/disk/by-uuid/c95c64ad-f131-4bde-9bca-a7a3692173da"; { device = "/dev/disk/by-uuid/8e3ac6ce-6865-49d8-b6d0-d7c008de391e";
fsType = "ext4"; fsType = "ext4";
}; };
fileSystems."/boot" = fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/0D77-17BB"; { device = "/dev/disk/by-uuid/F193-2A35";
fsType = "vfat"; fsType = "vfat";
}; };
fileSystems."/data/nfs" = fileSystems."/data/nfs" = {
{ device = "voyager:/"; device = "voyager:/";
fsType = "nfs"; fsType = "nfs";
options = [ "x-systemd.automount" "noauto" ]; options = [
}; "x-systemd.automount"
"noauto"
];
};
} }
+7 -1
View File
@@ -5,7 +5,7 @@ let
in in
{ {
my.profiles = { my.profiles = {
hyprland.enable = true; hyprland.enable = false;
zsh.enable = true; zsh.enable = true;
apps = { apps = {
desktop_apps = true; desktop_apps = true;
@@ -19,6 +19,7 @@ in
sonarr.enable = true; sonarr.enable = true;
jellyfin.enable = true; jellyfin.enable = true;
jellyseerr.enable = true; jellyseerr.enable = true;
development.enable = true;
paperless = { paperless = {
enable = false; enable = false;
port = 28981; # Optional, to override the default port port = 28981; # Optional, to override the default port
@@ -32,5 +33,10 @@ in
my.hardware = { my.hardware = {
bluetooth.enable = true; bluetooth.enable = true;
sound.enable = true;
};
my.services = {
vpn.enable = true;
}; };
} }
+25 -9
View File
@@ -1,14 +1,25 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }: {
config,
lib,
pkgs,
modulesPath,
...
}:
{ {
imports = imports = [
[ (modulesPath + "/installer/scan/not-detected.nix") (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.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ]; boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
@@ -16,7 +27,7 @@
# 9a49 # 9a49
nixpkgs.config.packageOverrides = pkgs: { nixpkgs.config.packageOverrides = pkgs: {
vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; }; vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; };
}; };
hardware.opengl = { hardware.opengl = {
enable = true; enable = true;
@@ -28,18 +39,23 @@
]; ];
}; };
hardware.logitech.wireless = {
enable = true;
enableGraphical = true;
};
fileSystems."/" = fileSystems."/" =
{ device = "/dev/disk/by-uuid/c95c64ad-f131-4bde-9bca-a7a3692173da"; { device = "/dev/disk/by-uuid/8e3ac6ce-6865-49d8-b6d0-d7c008de391e";
fsType = "ext4"; fsType = "ext4";
}; };
fileSystems."/boot" = fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/0D77-17BB"; { device = "/dev/disk/by-uuid/F193-2A35";
fsType = "vfat"; 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 # 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 # (the default) this is the recommended approach. When using systemd-networkd it's
+7 -3
View File
@@ -1,4 +1,9 @@
{ config, pkgs, lib, ... }: {
config,
pkgs,
lib,
...
}:
{ {
imports = [ imports = [
@@ -50,9 +55,8 @@
#media-session.enable = true; #media-session.enable = true;
}; };
system = { system = {
stateVersion = "23.05"; stateVersion = "23.05";
autoUpgrade.enable = true; autoUpgrade.enable = true;
}; };
} }
+11 -6
View File
@@ -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."/" = fileSystems."/" = {
{ device = "/dev/disk/by-uuid/077abdb0-cbc1-4589-b411-25ecc157488f"; device = "/dev/disk/by-uuid/077abdb0-cbc1-4589-b411-25ecc157488f";
fsType = "ext4"; fsType = "ext4";
}; };
} }
+1 -1
View File
@@ -12,4 +12,4 @@ in
dev_apps = true; dev_apps = true;
}; };
}; };
} }
+19 -9
View File
@@ -1,22 +1,32 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }: {
config,
lib,
pkgs,
modulesPath,
...
}:
{ {
imports = imports = [
[ (modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
]; ];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" ]; boot.initrd.availableKernelModules = [
"xhci_pci"
"ahci"
"nvme"
];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ]; boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
fileSystems."/" = fileSystems."/" = {
{ device = "/dev/disk/by-uuid/077abdb0-cbc1-4589-b411-25ecc157488f"; device = "/dev/disk/by-uuid/077abdb0-cbc1-4589-b411-25ecc157488f";
fsType = "ext4"; fsType = "ext4";
}; };
swapDevices = [ ]; swapDevices = [ ];
+2 -1
View File
@@ -3,5 +3,6 @@
imports = [ imports = [
./environments ./environments
./hardware ./hardware
./services
]; ];
} }
+20 -29
View File
@@ -1,10 +1,13 @@
{
{ config, lib, pkgs, ... }: config,
lib,
pkgs,
...
}:
let let
cfg = config.my.profiles.apps; cfg = config.my.profiles.apps;
in { in
{
options.my.profiles.apps = with lib; { options.my.profiles.apps = with lib; {
desktop_apps = mkEnableOption "Basic Apps"; desktop_apps = mkEnableOption "Basic Apps";
@@ -16,29 +19,17 @@ let
users.users.finn.packages = with pkgs; [ users.users.finn.packages = with pkgs; [
firefox firefox
thunderbird thunderbird
google-chrome google-chrome
xfce.thunar
vscode vscode
discord discord
spotify spotify
keepassxc keepassxc
moonlight-qt moonlight-qt
nextcloud-client nextcloud-client
neovim pipewire
pipewire wireplumber
vlc 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
];
};
}
+2 -1
View File
@@ -2,6 +2,7 @@
{ {
imports = [ imports = [
./apps ./apps
./development
./hyprland ./hyprland
./zsh ./zsh
./paperless ./paperless
@@ -14,4 +15,4 @@
./jellyfin ./jellyfin
./jellyseerr ./jellyseerr
]; ];
} }
@@ -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
];
};
}
@@ -0,0 +1,39 @@
{
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
go
(python3.withPackages (
ps: with ps; [
jupyter # notebooks
matplotlib
numpy
pandas
pillow
plotly
scikitlearn
scipy
tqdm # progressbar in pandas
wheel # python development
]
))
];
};
}
+9 -2
View File
@@ -1,5 +1,12 @@
# Docker related settings # Docker related settings
{ config, inputs, lib, options, pkgs, ... }: {
config,
inputs,
lib,
options,
pkgs,
...
}:
let let
cfg = config.my.profiles.docker; cfg = config.my.profiles.docker;
in in
@@ -19,4 +26,4 @@ in
autoPrune.enable = true; autoPrune.enable = true;
}; };
}; };
} }
+19 -7
View File
@@ -1,7 +1,13 @@
{ config, lib, pkgs, ... }: {
config,
lib,
pkgs,
...
}:
let let
cfg = config.my.profiles.hyprland; cfg = config.my.profiles.hyprland;
in { in
{
options.my.profiles.hyprland = with lib; { options.my.profiles.hyprland = with lib; {
enable = mkEnableOption "hyprland env"; enable = mkEnableOption "hyprland env";
}; };
@@ -11,6 +17,12 @@ let
enable = true; enable = true;
xwayland.enable = true; xwayland.enable = true;
}; };
services.displayManager.sddm.wayland.enable = true;
services.xserver = {
layout = "de";
xkbVariant = "";
};
users.users.finn.packages = with pkgs; [ users.users.finn.packages = with pkgs; [
wofi wofi
mako mako
@@ -23,12 +35,12 @@ let
#xdg-desktop-portal-hyprland #xdg-desktop-portal-hyprland
]; ];
hardware = { hardware = {
# Opengl # Opengl
opengl.enable = true; opengl.enable = true;
# Most wayland compositors need this # Most wayland compositors need this
nvidia.modesetting.enable = true; nvidia.modesetting.enable = true;
}; };
}; };
} }
+7 -3
View File
@@ -1,5 +1,10 @@
# manages and downloads films # manages and downloads films
{ config, lib, pkgs, ... }: {
config,
lib,
pkgs,
...
}:
let let
cfg = config.my.profiles.jellyfin; cfg = config.my.profiles.jellyfin;
in in
@@ -15,9 +20,8 @@ in
openFirewall = true; openFirewall = true;
}; };
systemd.services.jellyfin = { systemd.services.jellyfin = {
after = [ "network-online.target" ]; after = [ "network-online.target" ];
}; };
}; };
} }
+1 -2
View File
@@ -1,4 +1,3 @@
# manages and downloads films # manages and downloads films
{ config, lib, ... }: { config, lib, ... }:
let let
@@ -20,4 +19,4 @@ in
after = [ "network-online.target" ]; after = [ "network-online.target" ];
}; };
}; };
} }
+12 -8
View File
@@ -1,9 +1,12 @@
# KDE Desktio Environment # KDE Desktio Environment
{ config, lib, pkgs, ... }: {
config,
lib,
pkgs,
...
}:
let let
cfg = config.my.profiles.kde-desktop; cfg = config.my.profiles.kde-desktop;
# domain = config.networking.domain;
# port = 9696;
in in
{ {
options.my.profiles.kde-desktop = with lib; { options.my.profiles.kde-desktop = with lib; {
@@ -12,12 +15,13 @@ in
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
services.xserver = { services.xserver = {
enable = true; enable = true;
displayManager.sddm.enable = true; displayManager.sddm.enable = true;
desktopManager.plasma5.enable = true; desktopManager.plasma5.enable = true;
}; };
users.users.finn.packages = with pkgs; [ users.users.finn.packages = with pkgs; [
latte-dock # Programms can be added here...
numix-icon-theme
]; ];
}; };
} }
+13 -11
View File
@@ -8,18 +8,20 @@ in
enable = mkEnableOption "Paperless Server"; enable = mkEnableOption "Paperless Server";
port = mkOption { port = mkOption {
type = types.port; type = types.port;
default = 28981; default = 28981;
example = 8080; example = 8080;
description = "Internal port for webui"; description = "Internal port for webui";
}; };
extraConfig = mkOption { extraConfig = mkOption {
type = types.attrs; type = types.attrs;
default = {}; default = { };
example = { PAPERLESS_OCR_LANGUAGE = "deu+eng"; }; example = {
description = "Extra configuration options"; PAPERLESS_OCR_LANGUAGE = "deu+eng";
}; };
description = "Extra configuration options";
};
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
@@ -33,4 +35,4 @@ in
}; };
networking.firewall.allowedTCPPorts = [ cfg.port ]; networking.firewall.allowedTCPPorts = [ cfg.port ];
}; };
} }
+9 -4
View File
@@ -1,10 +1,15 @@
# manages indexes # manages indexes
{ config, lib, pkgs, ... }: {
config,
lib,
pkgs,
...
}:
let let
cfg = config.my.profiles.prowlarr; cfg = config.my.profiles.prowlarr;
# domain = config.networking.domain;
# port = 9696;
in in
# domain = config.networking.domain;
# port = 9696;
{ {
options.my.profiles.prowlarr = with lib; { options.my.profiles.prowlarr = with lib; {
enable = mkEnableOption "Prowlarr for indexing"; enable = mkEnableOption "Prowlarr for indexing";
@@ -30,4 +35,4 @@ in
after = [ "network-online.target" ]; after = [ "network-online.target" ];
}; };
}; };
} }
+9 -4
View File
@@ -1,10 +1,15 @@
# manages and downloads films # manages and downloads films
{ config, lib, pkgs, ... }: {
config,
lib,
pkgs,
...
}:
let let
cfg = config.my.profiles.radarr; cfg = config.my.profiles.radarr;
# domain = config.networking.domain;
# port = 7878;
in in
# domain = config.networking.domain;
# port = 7878;
{ {
options.my.profiles.radarr = with lib; { options.my.profiles.radarr = with lib; {
enable = mkEnableOption "Sonarr for films management"; enable = mkEnableOption "Sonarr for films management";
@@ -23,4 +28,4 @@ in
after = [ "network-online.target" ]; after = [ "network-online.target" ];
}; };
}; };
} }
+9 -4
View File
@@ -1,10 +1,15 @@
# manages and downloads films # manages and downloads films
{ config, lib, pkgs, ... }: {
config,
lib,
pkgs,
...
}:
let let
cfg = config.my.profiles.readarr; cfg = config.my.profiles.readarr;
# domain = config.networking.domain;
# port = 7878;
in in
# domain = config.networking.domain;
# port = 7878;
{ {
options.my.profiles.readarr = with lib; { options.my.profiles.readarr = with lib; {
enable = mkEnableOption "Readarr for ebook management"; enable = mkEnableOption "Readarr for ebook management";
@@ -23,4 +28,4 @@ in
after = [ "network-online.target" ]; after = [ "network-online.target" ];
}; };
}; };
} }
+8 -3
View File
@@ -1,9 +1,14 @@
# manages and downloads films # manages and downloads films
{ config, lib, pkgs, ... }: {
config,
lib,
pkgs,
...
}:
let let
cfg = config.my.profiles.sonarr; cfg = config.my.profiles.sonarr;
# domain = config.networking.domain; # domain = config.networking.domain;
port = 8989; port = 8989;
in in
{ {
options.my.profiles.sonarr = with lib; { options.my.profiles.sonarr = with lib; {
@@ -23,4 +28,4 @@ in
after = [ "network-online.target" ]; after = [ "network-online.target" ];
}; };
}; };
} }
+13 -10
View File
@@ -1,9 +1,13 @@
{ config, lib, pkgs, ... }: {
config,
lib,
pkgs,
...
}:
let let
cfg = config.my.profiles.zsh; cfg = config.my.profiles.zsh;
in { in
{
options.my.profiles.zsh = with lib; { options.my.profiles.zsh = with lib; {
enable = mkEnableOption "zsh env"; enable = mkEnableOption "zsh env";
@@ -12,13 +16,12 @@ let
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
users.defaultUserShell = pkgs.zsh; users.defaultUserShell = pkgs.zsh;
programs.zsh = { programs.zsh = {
enable = true;
ohMyZsh = {
enable = true; enable = true;
ohMyZsh = { theme = "agnoster";
enable = true; };
theme = "agnoster";
};
}; };
}; };
} }
+6 -1
View File
@@ -1,4 +1,9 @@
{ config, lib, pkgs, ... }: {
config,
lib,
pkgs,
...
}:
let let
cfg = config.my.hardware.bluetooth; cfg = config.my.hardware.bluetooth;
in in
+1 -1
View File
@@ -14,4 +14,4 @@
#./thunderbolt #./thunderbolt
#./wifi #./wifi
]; ];
} }
+10 -2
View File
@@ -1,4 +1,9 @@
{ config, lib, pkgs, ... }: {
config,
lib,
pkgs,
...
}:
let let
cfg = config.my.hardware.bluetooth; cfg = config.my.hardware.bluetooth;
in in
@@ -11,5 +16,8 @@ in
hardware.pulseaudio.enable = false; hardware.pulseaudio.enable = false;
hardware.pulseaudio.support32Bit = true; hardware.pulseaudio.support32Bit = true;
users.extraUsers.finn.extraGroups = [ "audio" ]; users.extraUsers.finn.extraGroups = [ "audio" ];
environment.systemPackages = with pkgs; [
headsetcontrol
];
}; };
} }
+7 -2
View File
@@ -1,4 +1,9 @@
{ config, lib, pkgs, ... }: {
config,
lib,
pkgs,
...
}:
let let
cfg = config.my.hardware.wifi; cfg = config.my.hardware.wifi;
in in
@@ -13,4 +18,4 @@ in
package = pkgs.rtw89-firmware; package = pkgs.rtw89-firmware;
}; };
}; };
} }
+8
View File
@@ -0,0 +1,8 @@
# Service-related modules
{ ... }:
{
imports = [
./vpn
];
}
+19
View File
@@ -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;
}
]
);
}
+2 -3
View File
@@ -1,4 +1,3 @@
final: prev: final: prev: {
{
# homer = final.callPackage ./homer { }; # homer = final.callPackage ./homer { };
} }