diff --git a/lib/default.nix b/lib/default.nix index 35ed4f1..8cfb577 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -15,8 +15,6 @@ rec { "x86_64-linux" ]; forSystems = nixpkgs: nixpkgs.lib.genAttrs systems; - pkgsFor = - nixpkgs: system: - (import nixpkgs { inherit system; }).extend (builtins.trace forSelfOverlay forSelfOverlay); + pkgsFor = nixpkgs: system: (import nixpkgs { inherit system; }).extend forSelfOverlay; genPkgs = nixpkgs: func: (forSystems nixpkgs (system: func (pkgsFor nixpkgs system))); } diff --git a/lib/modules/home/default.nix b/lib/modules/home/default.nix index 0103c7b..ec00bc7 100644 --- a/lib/modules/home/default.nix +++ b/lib/modules/home/default.nix @@ -14,20 +14,19 @@ in { imports = with homeManagerModules; [ slippi.homeManagerModules.default - # nix-colors.homeManagerModules.default - # fish - # helix - # git - # jujutsu - # zellij - # htop - # linux - # sshconfig - # senpai - # iex - # helix - # cargo - # desktop + fish + helix + git + jujutsu + zellij + htop + linux + sshconfig + senpai + iex + helix + cargo + desktop /* broot @@ -39,7 +38,9 @@ in options = { lyte = { shell = { - enable = lib.mkEnableOption "Enable home-manager shell configuration for the user"; + enable = + lib.mkEnableOption builtins.trace "looked at lyte options" + "Enable home-manager shell configuration for the user"; }; desktop = { enable = lib.mkEnableOption "Enable home-manager desktop configuration for the user"; diff --git a/lib/modules/nixos/default-module.nix b/lib/modules/nixos/default-module.nix index 21869e3..bc2f754 100644 --- a/lib/modules/nixos/default-module.nix +++ b/lib/modules/nixos/default-module.nix @@ -15,21 +15,20 @@ { imports = with self.outputs.nixosModules; [ (modulesPath + "/installer/scan/not-detected.nix") - # home-manager.nixosModules.home-manager + home-manager.nixosModules.home-manager sops-nix.nixosModules.sops disko.nixosModules.disko slippi.nixosModules.default - # deno-netlify-ddns-client - # shell-defaults-and-applications - - # desktop - # wifi - # printing - # podman - # virtual-machines - # postgres - # gaming - # daniel + deno-netlify-ddns-client + shell-defaults-and-applications + desktop + gnome + wifi + printing + podman + virtual-machines + postgres + gaming ]; config = { @@ -61,27 +60,27 @@ # TODO: for each non-system user on the machine? # home-manager = { - # - # useGlobalPkgs = lib.mkDefault true; - # backupFileExtension = lib.mkDefault "hm-backup"; - # sharedModules = with self.outputs.homeManagerModules; [ - # default - # ]; + # useGlobalPkgs = lib.mkDefault true; + # backupFileExtension = lib.mkDefault "hm-backup"; - # users = { - # root = { - # home.stateVersion = lib.mkDefault config.system.stateVersion; - # # imports = with self.outputs.homeManagerModules; [ - # # ]; + # sharedModules = with self.outputs.homeManagerModules; [ + # default + # ]; + + # users = { + # root = { + # home.stateVersion = lib.mkDefault config.system.stateVersion; + # # imports = with self.outputs.homeManagerModules; [ + # # ]; + # }; + # daniel = { + # home.stateVersion = lib.mkDefault config.system.stateVersion; + # imports = with self.outputs.homeManagerModules; [ + # daniel + # ]; + # }; # }; - # daniel = { - # home.stateVersion = lib.mkDefault config.system.stateVersion; - # imports = with self.outputs.homeManagerModules; [ - # daniel - # ]; - # }; - # }; # }; systemd.services.nix-daemon.environment.TMPDIR = lib.mkDefault "/var/tmp"; # TODO: why did I do this again? @@ -188,5 +187,11 @@ ]; packages = [ ]; }; + home-manager.users.daniel = { + home.stateVersion = lib.mkDefault config.system.stateVersion; + imports = with self.outputs.homeManagerModules; [ + default + ]; + }; }; } diff --git a/lib/modules/nixos/default.nix b/lib/modules/nixos/default.nix index 7b7fcf3..2a16c75 100644 --- a/lib/modules/nixos/default.nix +++ b/lib/modules/nixos/default.nix @@ -11,7 +11,6 @@ inputs: { gnome = import ./gnome.nix; laptop = import ./laptop.nix; plasma6 = import ./plasma.nix; - lutris = import ./lutris.nix; gaming = import ./gaming.nix; pipewire = import ./pipewire.nix; podman = import ./podman.nix; @@ -20,7 +19,6 @@ inputs: { desktop = import ./desktop.nix; printing = import ./printing.nix; wifi = import ./wifi.nix; - steam = import ./steam.nix; remote-disk-key-entry-on-boot = { diff --git a/lib/modules/nixos/desktop.nix b/lib/modules/nixos/desktop.nix index e3e9dec..607b345 100644 --- a/lib/modules/nixos/desktop.nix +++ b/lib/modules/nixos/desktop.nix @@ -9,9 +9,6 @@ let cfg = config.lyte.desktop; in { - imports = with nixosModules; [ - gnome - ]; options = { lyte = { desktop = { @@ -20,7 +17,7 @@ in }; }; config = lib.mkIf cfg.enable { - # services.xserver.desktopManager.gnome.enable = true; + services.xserver.desktopManager.gnome.enable = true; fonts.packages = [ ( diff --git a/lib/modules/nixos/gaming.nix b/lib/modules/nixos/gaming.nix index a4cec67..756fece 100644 --- a/lib/modules/nixos/gaming.nix +++ b/lib/modules/nixos/gaming.nix @@ -1,15 +1,69 @@ -{ self, pkgs, ... }: { - imports = with self.outputs.nixosModules; [ - lutris # TODO: use the flatpak? - steam # TODO: use the flatpak? - ]; + options, + pkgs, + ... +}: +{ + programs.gamescope.enable = true; + + services.pipewire = { + alsa.support32Bit = true; + }; + + programs.steam = { + extest.enable = true; + gamescopeSession.enable = true; + + extraPackages = with pkgs; [ + gamescope + ]; + + extraCompatPackages = with pkgs; [ + proton-ge-bin + ]; + + localNetworkGameTransfers.openFirewall = true; + remotePlay.openFirewall = true; + }; + + hardware = + ( + if builtins.hasAttr "graphics" options.hardware then + { + graphics = { + enable = true; + enable32Bit = true; + }; + } + else + { + opengl = { + enable = true; + driSupport32Bit = true; + }; + } + ) + // { + steam-hardware.enable = true; + }; + + services.udev.packages = with pkgs; [ steam ]; environment = { systemPackages = with pkgs; [ + dualsensectl # for interfacing with dualsense controllers programmatically + wineWowPackages.waylandFull + lutris + winetricks ludusavi # ludusavi uses rclone rclone ]; }; + # remote play ports - should be unnecessary due to programs.steam.remotePlay.openFirewall = true; + /* + networking.firewall.allowedUDPPortRanges = [ { from = 27031; to = 27036; } ]; + networking.firewall.allowedTCPPortRanges = [ { from = 27036; to = 27037; } ]; + */ + } diff --git a/lib/modules/nixos/postgres.nix b/lib/modules/nixos/postgres.nix index e3e9dec..7d12acc 100644 --- a/lib/modules/nixos/postgres.nix +++ b/lib/modules/nixos/postgres.nix @@ -2,63 +2,50 @@ pkgs, lib, config, - options, ... }: -let - cfg = config.lyte.desktop; -in { - imports = with nixosModules; [ - gnome - ]; - options = { - lyte = { - desktop = { - enable = lib.mkEnableOption "Enable my default desktop configuration and applications"; - }; - }; - }; - config = lib.mkIf cfg.enable { - # services.xserver.desktopManager.gnome.enable = true; - - fonts.packages = [ - ( - # allow nixpkgs 24.11 and unstable to both work - if builtins.hasAttr "nerd-fonts" pkgs then - (pkgs.nerd-fonts.symbols-only) - else - (pkgs.nerdfonts.override { fonts = [ "NerdFontsSymbolsOnly" ]; }) - ) - pkgs.iosevkaLyteTerm - ]; - - xdg.portal.enable = true; - - hardware = - if builtins.hasAttr "graphics" options.hardware then + config = lib.mkIf config.services.postgresql.enable { + # this is really just for development usage + services.postgresql = { + # enable = true; + ensureDatabases = [ "daniel" ]; + ensureUsers = [ { - graphics = { - enable = true; - # enable32Bit = true; - /* - driSupport32Bit = true; - driSupport = true; - */ - }; + name = "daniel"; + ensureDBOwnership = true; } - else - { - opengl = { - enable = true; - # driSupport32Bit = true; - driSupport = true; - }; - }; + ]; + # enableTCPIP = true; - services.flatpak.enable = true; - programs.appimage.binfmt = true; - services.printing.enable = true; - programs.virt-manager.enable = config.virtualisation.libvirtd.enable; + package = pkgs.postgresql_15; + + authentication = pkgs.lib.mkOverride 10 '' + #type database DBuser auth-method + local all postgres peer map=superuser_map + local all daniel peer map=superuser_map + local sameuser all peer map=superuser_map + + # lan ipv4 + host all all 10.0.0.0/24 trust + host all all 127.0.0.1/32 trust + + # tailnet ipv4 + host all all 100.64.0.0/10 trust + ''; + + identMap = '' + # ArbitraryMapName systemUser DBUser + superuser_map root postgres + superuser_map postgres postgres + superuser_map daniel postgres + + superuser_map /^(.*)$ \1 # Let other names login as themselves + ''; + }; + + environment.systemPackages = with pkgs; [ + pgcli + ]; }; } diff --git a/lib/modules/nixos/shell-config.nix b/lib/modules/nixos/shell-config.nix index 9a43721..762e4d0 100644 --- a/lib/modules/nixos/shell-config.nix +++ b/lib/modules/nixos/shell-config.nix @@ -17,12 +17,6 @@ in }; config = lib.mkIf cfg.enable { - programs.eza = { - enable = true; - }; - - config.lyte.shell.enable = lib.mkDefault true; - programs.nix-index.enable = true; programs.command-not-found.enable = false; users = { diff --git a/lib/modules/nixos/steam.nix b/lib/modules/nixos/steam.nix index c4ea2ad..df099bf 100644 --- a/lib/modules/nixos/steam.nix +++ b/lib/modules/nixos/steam.nix @@ -6,60 +6,5 @@ ... }: { - config = lib.mkIf config.programs.steam.enable { - programs.gamescope.enable = true; - - services.pipewire = { - alsa.support32Bit = true; - }; - - programs.steam = { - extest.enable = true; - gamescopeSession.enable = true; - - extraPackages = with pkgs; [ - gamescope - ]; - - extraCompatPackages = with pkgs; [ - proton-ge-bin - ]; - - localNetworkGameTransfers.openFirewall = true; - remotePlay.openFirewall = true; - }; - - hardware = - ( - if builtins.hasAttr "graphics" options.hardware then - { - graphics = { - enable = true; - enable32Bit = true; - }; - } - else - { - opengl = { - enable = true; - driSupport32Bit = true; - }; - } - ) - // { - steam-hardware.enable = true; - }; - - services.udev.packages = with pkgs; [ steam ]; - - environment.systemPackages = with pkgs; [ - dualsensectl # for interfacing with dualsense controllers programmatically - ]; - - # remote play ports - should be unnecessary due to programs.steam.remotePlay.openFirewall = true; - /* - networking.firewall.allowedUDPPortRanges = [ { from = 27031; to = 27036; } ]; - networking.firewall.allowedTCPPortRanges = [ { from = 27036; to = 27037; } ]; - */ - }; + config = lib.mkIf config.programs.steam.enable { }; } diff --git a/packages/hosts/dragon.nix b/packages/hosts/dragon.nix index a7aac48..b1f02f0 100644 --- a/packages/hosts/dragon.nix +++ b/packages/hosts/dragon.nix @@ -3,7 +3,7 @@ config, hardware, diskoConfigurations, - homeConfigurations, + # homeConfigurations, ... }: { @@ -37,24 +37,22 @@ defaultSopsFile = ../../secrets/dragon/secrets.yml; secrets.ddns-pass.mode = "0400"; }; - # services.deno-netlify-ddns-client = { - # passwordFile = config.sops.secrets.ddns-pass.path; - # enable = true; - # username = "dragon.h"; - # # TODO: router doesn't even do ipv6 yet... - # ipv6 = false; - # }; + services.deno-netlify-ddns-client = { + passwordFile = config.sops.secrets.ddns-pass.path; + enable = true; + username = "dragon.h"; + # TODO: router doesn't even do ipv6 yet... + ipv6 = false; + }; - # networking.wifi.enable = true; - # lyte.desktop.enable = true; + networking.wifi.enable = true; + lyte.desktop.enable = true; - # home-manager.users.daniel = { - # lyte.shell.enable = true; - # lyte.desktop.enable = true; - # slippi-launcher = { - # enable = true; - # isoPath = "${config.users.users.daniel.home}/../games/roms/dolphin/melee.iso"; - # launchMeleeOnPlay = false; - # }; - # }; + home-manager.users.daniel = { + slippi-launcher = { + enable = true; + isoPath = "${config.users.users.daniel.home}/../games/roms/dolphin/melee.iso"; + launchMeleeOnPlay = false; + }; + }; }