diff options
| author | Collin Williams <96917990+bluedragon1221@users.noreply.github.com> | 2025-09-14 13:57:10 -0500 |
|---|---|---|
| committer | Collin Williams <96917990+bluedragon1221@users.noreply.github.com> | 2025-09-14 14:12:12 -0500 |
| commit | 8244bb48b9dbd3358aa6d47209dfbfd3c19b906f (patch) | |
| tree | 3b6755a39f8f044b21036ccf63cf41eb401e858c | |
| parent | d71356eef83e4df59416cd10109cb5688e657c16 (diff) | |
fantasy config if ganymede did run nixos (I wish)
| -rw-r--r-- | hosts/ganymede/config.nix | 36 | ||||
| -rw-r--r-- | hosts/ganymede/disks.nix | 40 | ||||
| -rw-r--r-- | hosts/ganymede/nixos.nix | 8 | ||||
| -rw-r--r-- | hosts/ganymede/system.nix | 8 | ||||
| -rw-r--r-- | modules/services/nixos/default.nix | 1 | ||||
| -rw-r--r-- | modules/services/nixos/selfhost/default.nix | 5 | ||||
| -rw-r--r-- | modules/services/nixos/selfhost/navidrome.nix | 19 | ||||
| -rw-r--r-- | modules/services/options.nix | 17 |
8 files changed, 120 insertions, 14 deletions
diff --git a/hosts/ganymede/config.nix b/hosts/ganymede/config.nix new file mode 100644 index 0000000..62abd56 --- /dev/null +++ b/hosts/ganymede/config.nix @@ -0,0 +1,36 @@ +{ + collinux = { + user = { + name = "collin"; + password = "$y$j9T$08yFysn8jr9K4Wk.hYXbG0$NzY9vIbNknJViA..Jw.vF8wmQtBgEZZU.cdLQOmDvU2"; + }; + + terminal = { + programs = { + git = { + enable = true; + userName = "Collin Williams"; + userEmail = "96917990+bluedragon1221@users.noreply.github.com"; + }; + }; + }; + + boot.systemd-boot.enable = true; + + services = { + networking = { + enable = true; + networkmanager.enable = true; + }; + + audio = { + enable = true; + pulse.enable = true; + }; + + selfhost = { + navidrome.enable = true; + }; + }; + }; +} diff --git a/hosts/ganymede/disks.nix b/hosts/ganymede/disks.nix new file mode 100644 index 0000000..b701fda --- /dev/null +++ b/hosts/ganymede/disks.nix @@ -0,0 +1,40 @@ +{ + disko.enableConfig = true; + disko.devices = { + disk.main = { + device = "/dev/nvme0n1"; + type = "disk"; + content = { + type = "gpt"; + partitions = { + ESP = { + type = "EF00"; + size = "1G"; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + mountOptions = ["umask=0077"]; + }; + }; + media = { + size = "100G"; + content = { + type = "filesystem"; + format = "xfs"; + mountpoint = "/media"; + }; + }; + root = { + size = "100%"; + content = { + type = "filesystem"; + format = "ext4"; + mountpoint = "/"; + }; + }; + }; + }; + }; + }; +} diff --git a/hosts/ganymede/nixos.nix b/hosts/ganymede/nixos.nix new file mode 100644 index 0000000..bdede45 --- /dev/null +++ b/hosts/ganymede/nixos.nix @@ -0,0 +1,8 @@ +{inputs, ...}: { + # imports = [ + # inputs.disko.nixosModules.disko + # ./disks.nix + # ]; + + nixpkgs.hostPlatform = "x86_64-linux"; +} diff --git a/hosts/ganymede/system.nix b/hosts/ganymede/system.nix deleted file mode 100644 index 7eb2e74..0000000 --- a/hosts/ganymede/system.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: { - nixpkgs.hostPlatform = "x86_64-linux"; -} diff --git a/modules/services/nixos/default.nix b/modules/services/nixos/default.nix index b9ae4c7..d177b88 100644 --- a/modules/services/nixos/default.nix +++ b/modules/services/nixos/default.nix @@ -4,5 +4,6 @@ ./audio.nix ./bluetooth.nix ./tailscale.nix + ./selfhost ]; } diff --git a/modules/services/nixos/selfhost/default.nix b/modules/services/nixos/selfhost/default.nix new file mode 100644 index 0000000..03dbe4f --- /dev/null +++ b/modules/services/nixos/selfhost/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./navidrome.nix + ]; +} diff --git a/modules/services/nixos/selfhost/navidrome.nix b/modules/services/nixos/selfhost/navidrome.nix new file mode 100644 index 0000000..5250b85 --- /dev/null +++ b/modules/services/nixos/selfhost/navidrome.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + cfg = config.collinux.services.selfhost.navidrome; +in + lib.mkIf cfg.enable { + services.navidrome = { + enable = true; + inherit (cfg) user; + settings = { + Port = 4533; + Address = "0.0.0.0"; + EnableInsightsCollector = false; + MusicFolder = "/home/${cfg.user}/Music"; + }; + }; + } diff --git a/modules/services/options.nix b/modules/services/options.nix index ddf6f58..b887395 100644 --- a/modules/services/options.nix +++ b/modules/services/options.nix @@ -11,12 +11,7 @@ in { enable = mkEnableOption "wifi"; iwd.enable = mkEnableOption "lightweight wifi daemon"; networkmanager.enable = mkEnableOption "heavier wifi daemon"; - tailscale = { - enable = mkEnableOption "tailscale"; - authKeyFile = mkOption { - type = "path"; - }; - }; + tailscale.enable = mkEnableOption "tailscale"; }; audio = { enable = mkEnableOption "pipewire + wireplumber"; @@ -28,6 +23,16 @@ in { blueman.enable = mkEnableOption "graphical bluetooth manager"; bluetuith.enable = mkEnableOption "terminal bluetooth manager"; }; + + selfhost = { + navidrome = { + enable = mkEnableOption "navidrome music server"; + user = mkOption { + description = "user to run the service as"; + default = config.collinux.user.name; + }; + }; + }; }; }; |
