mirror of
https://github.com/Stunkymonkey/nixos.git
synced 2026-03-13 03:24:05 +01:00
Compare commits
7 commits
b0fffaab82
...
04bc5181ff
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
04bc5181ff | ||
|
|
72c96ce9bb | ||
|
|
b6424bd12a | ||
|
|
fc2feddfbb | ||
|
|
346f4d6592 | ||
|
|
b494b01a9c | ||
|
|
e9951968c7 |
25 changed files with 118 additions and 97 deletions
24
flake.lock
generated
24
flake.lock
generated
|
|
@ -222,11 +222,11 @@
|
||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1764440730,
|
"lastModified": 1766568855,
|
||||||
"narHash": "sha256-ZlJTNLUKQRANlLDomuRWLBCH5792x+6XUJ4YdFRjtO4=",
|
"narHash": "sha256-UXVtN77D7pzKmzOotFTStgZBqpOcf8cO95FcupWp4Zo=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "9154f4569b6cdfd3c595851a6ba51bfaa472d9f3",
|
"rev": "c5db9569ac9cc70929c268ac461f4003e3e5ca80",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -237,11 +237,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1765838191,
|
"lastModified": 1766736597,
|
||||||
"narHash": "sha256-m5KWt1nOm76ILk/JSCxBM4MfK3rYY7Wq9/TZIIeGnT8=",
|
"narHash": "sha256-BASnpCLodmgiVn0M1MU2Pqyoz0aHwar/0qLkp7CjvSQ=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c6f52ebd45e5925c188d1a20119978aa4ffd5ef6",
|
"rev": "f560ccec6b1116b22e6ed15f4c510997d99d5852",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -297,11 +297,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1765779637,
|
"lastModified": 1766651565,
|
||||||
"narHash": "sha256-KJ2wa/BLSrTqDjbfyNx70ov/HdgNBCBBSQP3BIzKnv4=",
|
"narHash": "sha256-QEhk0eXgyIqTpJ/ehZKg9IKS7EtlWxF3N7DXy42zPfU=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "1306659b587dc277866c7b69eb97e5f07864d8c4",
|
"rev": "3e2499d5539c16d0d173ba53552a4ff8547f4539",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -354,11 +354,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1765836173,
|
"lastModified": 1766289575,
|
||||||
"narHash": "sha256-hWRYfdH2ONI7HXbqZqW8Q1y9IRbnXWvtvt/ONZovSNY=",
|
"narHash": "sha256-BOKCwOQQIP4p9z8DasT5r+qjri3x7sPCOq+FTjY8Z+o=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "443a7f2e7e118c4fc63b7fae05ab3080dd0e5c63",
|
"rev": "9836912e37aef546029e48c8749834735a6b9dad",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
||||||
|
|
@ -51,8 +51,8 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
../machines/core/core.nix
|
../profiles/core/core.nix
|
||||||
../machines/core/nix.nix
|
../profiles/core/nix.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
documentation = {
|
documentation = {
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,7 @@ let
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
customModules = import ./core/default.nix;
|
defaultModules = [
|
||||||
baseModules = [
|
|
||||||
# make flake inputs accessible in NixOS
|
# make flake inputs accessible in NixOS
|
||||||
{
|
{
|
||||||
_module.args.self = self;
|
_module.args.self = self;
|
||||||
|
|
@ -45,10 +44,12 @@ 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 = {
|
||||||
|
|
|
||||||
|
|
@ -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";
|
|
||||||
}
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
[
|
|
||||||
./core.nix
|
|
||||||
./modules.nix
|
|
||||||
./network.nix
|
|
||||||
./nix.nix
|
|
||||||
./users.nix
|
|
||||||
]
|
|
||||||
|
|
@ -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
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -13,7 +13,10 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
hardware.keyboard.qmk.enable = true;
|
hardware.keyboard.qmk = {
|
||||||
|
enable = true;
|
||||||
|
keychronSupport = true;
|
||||||
|
};
|
||||||
|
|
||||||
services.udev.packages = with pkgs; [
|
services.udev.packages = with pkgs; [
|
||||||
via
|
via
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,6 @@
|
||||||
./alertmanager
|
./alertmanager
|
||||||
./aria2
|
./aria2
|
||||||
./backup
|
./backup
|
||||||
./bazarr
|
|
||||||
./blackbox
|
./blackbox
|
||||||
./blocky
|
./blocky
|
||||||
./dyndns
|
./dyndns
|
||||||
|
|
@ -20,26 +19,20 @@
|
||||||
./homepage
|
./homepage
|
||||||
./homer
|
./homer
|
||||||
./initrd-ssh
|
./initrd-ssh
|
||||||
./jellyfin
|
|
||||||
./jellyseerr
|
|
||||||
./loki
|
./loki
|
||||||
./minecraft-server
|
|
||||||
./matrix-bot
|
./matrix-bot
|
||||||
|
./media
|
||||||
|
./minecraft-server
|
||||||
./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
|
||||||
|
|
|
||||||
13
modules/services/media/default.nix
Normal file
13
modules/services/media/default.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./bazarr
|
||||||
|
./jellyfin
|
||||||
|
./jellyseerr
|
||||||
|
./navidrome
|
||||||
|
./photos
|
||||||
|
./prowlarr
|
||||||
|
./radarr
|
||||||
|
./sonarr
|
||||||
|
];
|
||||||
|
}
|
||||||
45
profiles/core/core.nix
Normal file
45
profiles/core/core.nix
Normal 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
23
profiles/core/default.nix
Normal 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)
|
||||||
|
]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
@ -11,10 +11,5 @@ _: {
|
||||||
"usb_storage"
|
"usb_storage"
|
||||||
"xhci_pci"
|
"xhci_pci"
|
||||||
];
|
];
|
||||||
|
|
||||||
kernelModules = [
|
|
||||||
"e1000e"
|
|
||||||
"nvme"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
12
profiles/core/network.nix
Normal file
12
profiles/core/network.nix
Normal 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
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -4,6 +4,7 @@
|
||||||
./3d-design
|
./3d-design
|
||||||
./android
|
./android
|
||||||
./clean
|
./clean
|
||||||
|
./core
|
||||||
./desktop-apps
|
./desktop-apps
|
||||||
./desktop-dev
|
./desktop-dev
|
||||||
./development
|
./development
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue