Compare commits

...

7 commits

Author SHA1 Message Date
Felix Buehler
04bc5181ff hardware/keychron: fix keyboard detection
Some checks are pending
/ Build Nix targets (push) Waiting to run
2025-12-27 17:14:00 +01:00
Felix Buehler
72c96ce9bb profile/core: remove e1000e and nvme from kernelModules. 2025-12-27 17:12:21 +01:00
Felix Buehler
b6424bd12a profile/core: add comments 2025-12-27 16:43:41 +01:00
Felix Buehler
fc2feddfbb profile/core: convert to nixosModule 2025-12-27 16:27:21 +01:00
Felix Buehler
346f4d6592 treewide: Move machines/core to profiles/core 2025-12-27 15:57:47 +01:00
Felix Buehler
b494b01a9c treewide: Group media services in modules/services/media 2025-12-27 15:57:42 +01:00
Felix Buehler
e9951968c7 flake: update 2025-12-27 11:51:40 +01:00
25 changed files with 118 additions and 97 deletions

24
flake.lock generated
View file

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

View file

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

View file

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

View file

@ -1,45 +0,0 @@
{ 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

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

View file

@ -1,13 +0,0 @@
_: {
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,7 +13,10 @@ in
};
config = lib.mkIf cfg.enable {
hardware.keyboard.qmk.enable = true;
hardware.keyboard.qmk = {
enable = true;
keychronSupport = true;
};
services.udev.packages = with pkgs; [
via

View file

@ -5,7 +5,6 @@
./alertmanager
./aria2
./backup
./bazarr
./blackbox
./blocky
./dyndns
@ -20,26 +19,20 @@
./homepage
./homer
./initrd-ssh
./jellyfin
./jellyseerr
./loki
./minecraft-server
./matrix-bot
./media
./minecraft-server
./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

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

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

@ -0,0 +1,45 @@
{ 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";
}

23
profiles/core/default.nix Normal file
View file

@ -0,0 +1,23 @@
{
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

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

12
profiles/core/network.nix Normal file
View file

@ -0,0 +1,12 @@
_: {
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,6 +4,7 @@
./3d-design
./android
./clean
./core
./desktop-apps
./desktop-dev
./development