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

View file

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

View file

@ -17,7 +17,8 @@ let
};
};
defaultModules = [
customModules = import ./core/default.nix;
baseModules = [
# make flake inputs accessible in NixOS
{
_module.args.self = self;
@ -44,12 +45,10 @@ let
sops-nix.nixosModules.sops
];
}
{
my.profiles.core.enable = true;
}
../modules
../profiles
];
defaultModules = baseModules ++ customModules;
in
{
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"
"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 {
hardware.keyboard.qmk = {
enable = true;
keychronSupport = true;
};
hardware.keyboard.qmk.enable = true;
services.udev.packages = with pkgs; [
via

View file

@ -5,6 +5,7 @@
./alertmanager
./aria2
./backup
./bazarr
./blackbox
./blocky
./dyndns
@ -19,20 +20,26 @@
./homepage
./homer
./initrd-ssh
./jellyfin
./jellyseerr
./loki
./matrix-bot
./media
./minecraft-server
./matrix-bot
./mumble-server
./navidrome
./nextcloud
./node-exporter
./octoprint
./paperless
./passworts
./photos
./prometheus
./promtail
./prowlarr
./radarr
./remote-build
./rss-bridge
./sonarr
./ssh-server
./tandoor-recipes
./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
./android
./clean
./core
./desktop-apps
./desktop-dev
./development