From 7e7c8947fc2ff5598124c4a4c18bd28432fa017e Mon Sep 17 00:00:00 2001 From: Collin Williams <96917990+bluedragon1221@users.noreply.github.com> Date: Mon, 8 Sep 2025 14:01:35 -0500 Subject: rework most of config; probably broke jupiter again; working to add ganymede (non-nixos) to this repo --- modules/services/nixos/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 modules/services/nixos/default.nix (limited to 'modules/services/nixos/default.nix') diff --git a/modules/services/nixos/default.nix b/modules/services/nixos/default.nix new file mode 100644 index 0000000..b9ae4c7 --- /dev/null +++ b/modules/services/nixos/default.nix @@ -0,0 +1,8 @@ +{ + imports = [ + ./networking + ./audio.nix + ./bluetooth.nix + ./tailscale.nix + ]; +} -- cgit v1.3.1 From 8244bb48b9dbd3358aa6d47209dfbfd3c19b906f Mon Sep 17 00:00:00 2001 From: Collin Williams <96917990+bluedragon1221@users.noreply.github.com> Date: Sun, 14 Sep 2025 13:57:10 -0500 Subject: fantasy config if ganymede did run nixos (I wish) --- hosts/ganymede/config.nix | 36 ++++++++++++++++++++++++ hosts/ganymede/disks.nix | 40 +++++++++++++++++++++++++++ hosts/ganymede/nixos.nix | 8 ++++++ hosts/ganymede/system.nix | 8 ------ modules/services/nixos/default.nix | 1 + modules/services/nixos/selfhost/default.nix | 5 ++++ modules/services/nixos/selfhost/navidrome.nix | 19 +++++++++++++ modules/services/options.nix | 17 ++++++++---- 8 files changed, 120 insertions(+), 14 deletions(-) create mode 100644 hosts/ganymede/config.nix create mode 100644 hosts/ganymede/disks.nix create mode 100644 hosts/ganymede/nixos.nix delete mode 100644 hosts/ganymede/system.nix create mode 100644 modules/services/nixos/selfhost/default.nix create mode 100644 modules/services/nixos/selfhost/navidrome.nix (limited to 'modules/services/nixos/default.nix') 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; + }; + }; + }; }; }; -- cgit v1.3.1