Compare commits

..

No commits in common. "04bc5181ffeeb66e7edd67358882c3d2af23aa52" and "b0fffaab824f15c8e4764d12e19dcb842cee8254" have entirely different histories.

25 changed files with 97 additions and 118 deletions

24
flake.lock generated
View file

@ -222,11 +222,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1766568855, "lastModified": 1764440730,
"narHash": "sha256-UXVtN77D7pzKmzOotFTStgZBqpOcf8cO95FcupWp4Zo=", "narHash": "sha256-ZlJTNLUKQRANlLDomuRWLBCH5792x+6XUJ4YdFRjtO4=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "c5db9569ac9cc70929c268ac461f4003e3e5ca80", "rev": "9154f4569b6cdfd3c595851a6ba51bfaa472d9f3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -237,11 +237,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1766736597, "lastModified": 1765838191,
"narHash": "sha256-BASnpCLodmgiVn0M1MU2Pqyoz0aHwar/0qLkp7CjvSQ=", "narHash": "sha256-m5KWt1nOm76ILk/JSCxBM4MfK3rYY7Wq9/TZIIeGnT8=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "f560ccec6b1116b22e6ed15f4c510997d99d5852", "rev": "c6f52ebd45e5925c188d1a20119978aa4ffd5ef6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -297,11 +297,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1766651565, "lastModified": 1765779637,
"narHash": "sha256-QEhk0eXgyIqTpJ/ehZKg9IKS7EtlWxF3N7DXy42zPfU=", "narHash": "sha256-KJ2wa/BLSrTqDjbfyNx70ov/HdgNBCBBSQP3BIzKnv4=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "3e2499d5539c16d0d173ba53552a4ff8547f4539", "rev": "1306659b587dc277866c7b69eb97e5f07864d8c4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -354,11 +354,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1766289575, "lastModified": 1765836173,
"narHash": "sha256-BOKCwOQQIP4p9z8DasT5r+qjri3x7sPCOq+FTjY8Z+o=", "narHash": "sha256-hWRYfdH2ONI7HXbqZqW8Q1y9IRbnXWvtvt/ONZovSNY=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "9836912e37aef546029e48c8749834735a6b9dad", "rev": "443a7f2e7e118c4fc63b7fae05ab3080dd0e5c63",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -51,8 +51,8 @@
}; };
imports = [ imports = [
../profiles/core/core.nix ../machines/core/core.nix
../profiles/core/nix.nix ../machines/core/nix.nix
]; ];
documentation = { documentation = {

View file

@ -17,7 +17,8 @@ let
}; };
}; };
defaultModules = [ customModules = import ./core/default.nix;
baseModules = [
# make flake inputs accessible in NixOS # make flake inputs accessible in NixOS
{ {
_module.args.self = self; _module.args.self = self;
@ -44,12 +45,10 @@ let
sops-nix.nixosModules.sops sops-nix.nixosModules.sops
]; ];
} }
{
my.profiles.core.enable = true;
}
../modules ../modules
../profiles ../profiles
]; ];
defaultModules = baseModules ++ customModules;
in in
{ {
flake.nixosConfigurations = { flake.nixosConfigurations = {

45
machines/core/core.nix Normal file
View file

@ -0,0 +1,45 @@
{ pkgs, ... }:
{
# Packages
environment.systemPackages = with pkgs; [
bandwhich
bind # dig
borgbackup
cryptsetup
delta
fd # find replacement
file
fzf
gettext
git
gptfdisk
htop
jq
killall
lsof
mosh
mtr
multipath-tools # kpartx
nmap
nmon
ouch # de-/compress
pciutils
progress
pv
reptyr
rsync
screen
sd # sed replacement
stress-ng
tmux
unzip
usbutils
vim
wget
whois
xcp
zip
];
time.timeZone = "Europe/Berlin";
}

View file

@ -0,0 +1,7 @@
[
./core.nix
./modules.nix
./network.nix
./nix.nix
./users.nix
]

View file

@ -11,5 +11,10 @@ _: {
"usb_storage" "usb_storage"
"xhci_pci" "xhci_pci"
]; ];
kernelModules = [
"e1000e"
"nvme"
];
}; };
} }

13
machines/core/network.nix Normal file
View file

@ -0,0 +1,13 @@
_: {
networking.networkmanager = {
enable = true;
unmanaged = [
"interface-name:br-*" # Ignore docker compose network bridges
"interface-name:docker?" # Ignore docker default bridge
"interface-name:veth*" # Ignore docker compose network devices
"interface-name:virbr?" # Ignore libvirt default bridge
];
};
}

View file

@ -13,10 +13,7 @@ in
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
hardware.keyboard.qmk = { hardware.keyboard.qmk.enable = true;
enable = true;
keychronSupport = true;
};
services.udev.packages = with pkgs; [ services.udev.packages = with pkgs; [
via via

View file

@ -5,6 +5,7 @@
./alertmanager ./alertmanager
./aria2 ./aria2
./backup ./backup
./bazarr
./blackbox ./blackbox
./blocky ./blocky
./dyndns ./dyndns
@ -19,20 +20,26 @@
./homepage ./homepage
./homer ./homer
./initrd-ssh ./initrd-ssh
./jellyfin
./jellyseerr
./loki ./loki
./matrix-bot
./media
./minecraft-server ./minecraft-server
./matrix-bot
./mumble-server ./mumble-server
./navidrome
./nextcloud ./nextcloud
./node-exporter ./node-exporter
./octoprint ./octoprint
./paperless ./paperless
./passworts ./passworts
./photos
./prometheus ./prometheus
./promtail ./promtail
./prowlarr
./radarr
./remote-build ./remote-build
./rss-bridge ./rss-bridge
./sonarr
./ssh-server ./ssh-server
./tandoor-recipes ./tandoor-recipes
./vpn ./vpn

View file

@ -1,13 +0,0 @@
{ ... }:
{
imports = [
./bazarr
./jellyfin
./jellyseerr
./navidrome
./photos
./prowlarr
./radarr
./sonarr
];
}

View file

@ -1,45 +0,0 @@
{ pkgs, ... }:
{
# Packages
environment.systemPackages = with pkgs; [
bandwhich # bandwidth monitor
bind # dns tools (dig, etc)
borgbackup # backup tool
cryptsetup # luks volume management
delta # git diff viewer
fd # find replacement in rust
file # show file type
fzf # fuzzy finder
gettext # localization tools
git # version control
gptfdisk # disk partitioning tools
htop # process monitor
jq # json processor
killall # kill processes by name
lsof # list open files
mosh # mobile shell
mtr # network diagnostic tool
multipath-tools # disk multipathing tools (kpartx)
nmap # network scanner
nmon # performance monitor
ouch # de-/compression tool
pciutils # lspci
progress # show progress of coreutils commands
pv # pipe viewer
reptyr # reparent process to new terminal
rsync # remote file sync
screen # terminal multiplexer
sd # sed replacement
stress-ng # stress testing
tmux # terminal multiplexer
unzip # unzip tools
usbutils # lsusb
vim # text editor
wget # file downloader
whois # domain lookup
xcp # rust cp replacement
zip # zip tools
];
time.timeZone = "Europe/Berlin";
}

View file

@ -1,23 +0,0 @@
{
config,
lib,
pkgs,
inputs,
...
}@args:
let
cfg = config.my.profiles.core;
in
{
options.my.profiles.core.enable = lib.mkEnableOption "core profile";
config = lib.mkIf cfg.enable (
lib.mkMerge [
(import ./core.nix args)
(import ./modules.nix args)
(import ./network.nix args)
(import ./nix.nix args)
(import ./users.nix args)
]
);
}

View file

@ -1,12 +0,0 @@
_: {
networking.networkmanager = {
enable = true;
unmanaged = [
"interface-name:br-*" # docker compose bridges
"interface-name:docker?" # docker default bridge
"interface-name:veth*" # docker veth devices
"interface-name:virbr?" # libvirt default bridge
];
};
}

View file

@ -4,7 +4,6 @@
./3d-design ./3d-design
./android ./android
./clean ./clean
./core
./desktop-apps ./desktop-apps
./desktop-dev ./desktop-dev
./development ./development