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": 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": {
@@ -56,12 +56,15 @@
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1667395993,
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github"
},
"original": {
@@ -70,178 +73,34 @@
"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 +108,18 @@
"inputs": {
"flake-compat": "flake-compat",
"flake-parts": "flake-parts_2",
"libgit2": "libgit2",
"nixpkgs": "nixpkgs_2",
"git-hooks-nix": "git-hooks-nix",
"nixfmt": "nixfmt",
"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": 1738052114,
"narHash": "sha256-OqHJ6mnBh2Ayqr2Sz7FUR2gOzupBBh9zC1DAaj61+OA=",
"owner": "NixOS",
"repo": "nix",
"rev": "80d67d603b68d5b1eae468c8be3016117dcaefb2",
"rev": "fbe2940a08b0f850ee3a01978256b4c4d5906587",
"type": "github"
},
"original": {
@@ -269,13 +128,31 @@
"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": 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 +169,11 @@
]
},
"locked": {
"lastModified": 1719841141,
"narHash": "sha256-WOyohxFJJdfDvEB7N3eTcX44lNU2rZes1inHsyHL7mM=",
"lastModified": 1737057290,
"narHash": "sha256-3Pe0yKlCc7EOeq1X/aJVDH0CtNL+tIBm49vpepwL1MQ=",
"owner": "nix-community",
"repo": "nixos-generators",
"rev": "140dcc2b9a0eb87ba5e9011076a1a7af19179ab1",
"rev": "d002ce9b6e7eb467cd1c6bb9aef9c35d191b5453",
"type": "github"
},
"original": {
@@ -307,11 +184,11 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1719895800,
"narHash": "sha256-xNbjISJTFailxass4LmdWeV4jNhAlmJPwj46a/GxE6M=",
"lastModified": 1737751639,
"narHash": "sha256-ZEbOJ9iT72iwqXsiEMbEa8wWjyFvRA9Ugx8utmYbpz4=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "6e253f12b1009053eff5344be5e835f604bb64cd",
"rev": "dfad538f751a5aa5d4436d9781ab27a6128ec9d4",
"type": "github"
},
"original": {
@@ -322,16 +199,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 +231,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 +259,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1719848872,
"narHash": "sha256-H3+EC5cYuq+gQW8y0lSrrDZfH71LB4DAf+TDFyvwCNA=",
"lastModified": 1737885589,
"narHash": "sha256-Zf0hSrtzaM1DEz8//+Xs51k/wdSajticVrATqDrfQjg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "00d80d13810dbfea8ab4ed1009b09100cca86ba8",
"rev": "852ff1d9e153d8875a83602e03fdef8a63f0ecf8",
"type": "github"
},
"original": {
@@ -397,120 +274,41 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1717432640,
"narHash": "sha256-+f9c4/ZX5MWDOuB1rKoWj+lBNm0z0rs4CK47HBLxy1o=",
"lastModified": 1750005367,
"narHash": "sha256-h/aac1dGLhS3qpaD2aZt25NdKY7b+JT0ZIP2WuGsJMU=",
"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": "6c64dabd3aa85e0c02ef1cdcb6e1213de64baee3",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-24.11",
"ref": "nixos-25.05",
"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=",
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"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",
"repo": "default",
"type": "github"
}
}
+19 -10
View File
@@ -1,10 +1,9 @@
{
description = "NixOS configuration";
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";
@@ -12,23 +11,33 @@
url = "github:nix-community/nixos-generators";
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; } {
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" ];
};
+17 -15
View File
@@ -1,11 +1,10 @@
{ self, ... }:
let
inherit
(self.inputs)
inherit (self.inputs)
nixpkgs
nixpkgs-unstable
nixos-hardware
hyprland
#hyprland
;
nixosSystem = nixpkgs.lib.makeOverridable nixpkgs.lib.nixosSystem;
overlay-unstable = final: prev: {
@@ -24,17 +23,20 @@ let
}
{
imports = [
({ pkgs, ... }: {
nixpkgs.overlays = [
overlay-unstable
(import ../pkgs)
];
nix.nixPath = [
"nixpkgs=${pkgs.path}"
];
documentation.info.enable = false;
})
hyprland.nixosModules.default
(
{ pkgs, ... }:
{
nixpkgs.overlays = [
overlay-unstable
(import ../pkgs)
];
nix.nixPath = [
"nixpkgs=${pkgs.path}"
];
documentation.info.enable = false;
}
)
#hyprland.nixosModules.default
];
}
../modules
@@ -60,4 +62,4 @@ in
];
};
};
}
}
+22 -19
View File
@@ -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
];
};
+11 -3
View File
@@ -1,4 +1,9 @@
{ config, pkgs, lib, ... }:
{
config,
pkgs,
lib,
...
}:
{
# Packages
environment.systemPackages = with pkgs; [
@@ -7,11 +12,11 @@
borgbackup
cryptsetup
file
fwupd
fzf
gettext
git
gitAndTools.delta
gnufdisk
gptfdisk
htop
jq
@@ -38,6 +43,9 @@
zip
unzip
networkmanager
lm_sensors
systemctl-tui
nixfmt-rfc-style
];
time.timeZone = "Europe/Berlin";
@@ -61,4 +69,4 @@
LC_TIME = "de_DE.UTF-8";
};
}
}
+1 -1
View File
@@ -4,4 +4,4 @@
./network.nix
./nix.nix
./users.nix
]
]
+7 -2
View File
@@ -1,3 +1,8 @@
# 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 = {
@@ -12,4 +17,4 @@
];
};
}
}
+8 -2
View File
@@ -1,4 +1,10 @@
{ config, lib, pkgs, inputs, ... }:
{
config,
lib,
pkgs,
inputs,
...
}:
{
nix = {
daemonCPUSchedPolicy = "idle";
@@ -24,4 +30,4 @@
};
};
nixpkgs.config.allowUnfree = true;
}
}
+7 -2
View File
@@ -1,4 +1,9 @@
{ config, pkgs, lib, ... }:
{
config,
pkgs,
lib,
...
}:
{
users.users.finn = {
@@ -24,4 +29,4 @@
users.groups.finn = {
gid = 1000;
};
}
}
+15 -20
View File
@@ -1,38 +1,32 @@
{ config, pkgs, lib, ... }:
{
config,
pkgs,
lib,
...
}:
{
imports = [
./disks.nix
./hardware-configuration.nix
./environments.nix
# ./system.nix use docker here
];
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"
];
};
# 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;
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;
@@ -47,6 +41,7 @@
# Enable CUPS to print documents.
services.printing.enable = true;
services.fwupd.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."/" =
{ device = "/dev/disk/by-uuid/c95c64ad-f131-4bde-9bca-a7a3692173da";
{ device = "/dev/disk/by-uuid/8e3ac6ce-6865-49d8-b6d0-d7c008de391e";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/0D77-17BB";
{ device = "/dev/disk/by-uuid/F193-2A35";
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"
];
};
}
+7 -1
View File
@@ -5,7 +5,7 @@ let
in
{
my.profiles = {
hyprland.enable = true;
hyprland.enable = false;
zsh.enable = true;
apps = {
desktop_apps = true;
@@ -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
@@ -32,5 +33,10 @@ in
my.hardware = {
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
# 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;
@@ -28,18 +39,23 @@
];
};
hardware.logitech.wireless = {
enable = true;
enableGraphical = true;
};
fileSystems."/" =
{ device = "/dev/disk/by-uuid/c95c64ad-f131-4bde-9bca-a7a3692173da";
{ device = "/dev/disk/by-uuid/8e3ac6ce-6865-49d8-b6d0-d7c008de391e";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/0D77-17BB";
{ 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
+7 -3
View File
@@ -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;
};
}
}
+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."/" =
{ 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";
};
}
+1 -1
View File
@@ -12,4 +12,4 @@ in
dev_apps = true;
};
};
}
}
+19 -9
View File
@@ -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 = [ ];
+2 -1
View File
@@ -3,5 +3,6 @@
imports = [
./environments
./hardware
./services
];
}
}
+20 -29
View File
@@ -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,29 +19,17 @@ let
users.users.finn.packages = with pkgs; [
firefox
thunderbird
google-chrome
xfce.thunar
google-chrome
vscode
discord
spotify
keepassxc
discord
spotify
keepassxc
moonlight-qt
nextcloud-client
neovim
pipewire
vlc
wireplumber
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
];
};
}
nextcloud-client
pipewire
wireplumber
vlc
ghostty
];
};
}
+2 -1
View File
@@ -2,6 +2,7 @@
{
imports = [
./apps
./development
./hyprland
./zsh
./paperless
@@ -14,4 +15,4 @@
./jellyfin
./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
{ 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;
};
};
}
}
+19 -7
View File
@@ -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";
};
@@ -11,6 +17,12 @@ 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
@@ -23,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;
};
};
}
+7 -3
View File
@@ -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" ];
};
};
}
}
+1 -2
View File
@@ -1,4 +1,3 @@
# manages and downloads films
{ config, lib, ... }:
let
@@ -20,4 +19,4 @@ in
after = [ "network-online.target" ];
};
};
}
}
+12 -8
View File
@@ -1,9 +1,12 @@
# KDE Desktio Environment
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}:
let
cfg = config.my.profiles.kde-desktop;
# domain = config.networking.domain;
# port = 9696;
in
{
options.my.profiles.kde-desktop = with lib; {
@@ -12,12 +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; [
latte-dock
# Programms can be added here...
numix-icon-theme
];
};
}
}
+13 -11
View File
@@ -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 ];
};
}
}
+9 -4
View File
@@ -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" ];
};
};
}
}
+9 -4
View File
@@ -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" ];
};
};
}
}
+9 -4
View File
@@ -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" ];
};
};
}
}
+8 -3
View File
@@ -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" ];
};
};
}
}
+13 -10
View File
@@ -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";
};
};
};
};
}
+6 -1
View File
@@ -1,4 +1,9 @@
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}:
let
cfg = config.my.hardware.bluetooth;
in
+1 -1
View File
@@ -14,4 +14,4 @@
#./thunderbolt
#./wifi
];
}
}
+10 -2
View File
@@ -1,4 +1,9 @@
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}:
let
cfg = config.my.hardware.bluetooth;
in
@@ -11,5 +16,8 @@ in
hardware.pulseaudio.enable = false;
hardware.pulseaudio.support32Bit = true;
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
cfg = config.my.hardware.wifi;
in
@@ -13,4 +18,4 @@ in
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 { };
}
}