diff --git a/modules/nixos/apps/_1password/default.nix b/modules/nixos/apps/_1password/default.nix new file mode 100644 index 0000000..e1d6b21 --- /dev/null +++ b/modules/nixos/apps/_1password/default.nix @@ -0,0 +1,20 @@ +{ options, config, lib, pkgs, ... }: +with lib; +with lib.wyrdgard; let + cfg = config.wyrdgard.apps._1password; +in +{ + options.wyrdgard.apps._1password = with types; { + enable = mkBoolOpt false "Enable 1Password"; + }; + + config = mkIf cfg.enable { + programs = { + _1password.enable = true; + _1password-gui = { + enable = true; + polkitPolicyOwners = [ config.wyrdgard.user.name ]; + }; + }; + }; +} diff --git a/modules/nixos/apps/cli-apps/fish/default.nix b/modules/nixos/apps/cli-apps/fish/default.nix new file mode 100644 index 0000000..8ef1d89 --- /dev/null +++ b/modules/nixos/apps/cli-apps/fish/default.nix @@ -0,0 +1,17 @@ +{ options, config, lib, pkgs, ... }: +with lib; +with lib.wyrdgard; let + cfg = config.wyrdgard.apps.cli-apps.fish; +in +{ + options.wyrdgard.apps.cli-apps.fish = with types; { + enable = mkBoolOpt false "Whether or not to enable the fish shell"; + }; + + config = mkIf cfg.enable { + environment.systemPackages = with pkgs; [ + fish + fishPlugins.tide + ]; + }; +} diff --git a/modules/nixos/apps/steam/default.nix b/modules/nixos/apps/steam/default.nix new file mode 100644 index 0000000..d65e06d --- /dev/null +++ b/modules/nixos/apps/steam/default.nix @@ -0,0 +1,21 @@ +{ options, config, lib, pkgs, ... }: + +with lib; +with lib.wyrdgard; +let + cfg = config.wyrdgard.apps.steam; +in +{ + options.wyrdgard.apps.steam = with types; { + enable = mkBoolOpt false "Whether or not to enable support for Steam."; + }; + + config = mkIf cfg.enable { + programs.steam.enable = true; + programs.steam.remotePlay.openFirewall = true; + + environment.systemPackages = with pkgs; [ + steam + ]; + }; +} diff --git a/modules/nixos/submodules/games/default.nix b/modules/nixos/submodules/games/default.nix index e7d0f31..5750fff 100644 --- a/modules/nixos/submodules/games/default.nix +++ b/modules/nixos/submodules/games/default.nix @@ -7,9 +7,16 @@ let cfg = config.wyrdgard.submodules.games; in { options.wyrdgard.submodules.games = with types; { - enable = mkBoolOpt false "Whether or not you want to enable non steam games such as minecraft"; + enable = mkBoolOpt false "Whether or not you want to enable steam and other games"; }; - config = mkIf cfg.enable { }; + config = mkIf cfg.enable { + wyrdgard = { + apps = { + steam = enabled; + }; + }; + + }; } diff --git a/modules/nixos/submodules/socials/default.nix b/modules/nixos/submodules/socials/default.nix index 6def030..f31e110 100644 --- a/modules/nixos/submodules/socials/default.nix +++ b/modules/nixos/submodules/socials/default.nix @@ -7,8 +7,14 @@ let in { options.wyrdgard.submodules.socials = with types; { - enable = mkBoolOpt false "Whether to enable a social apps"; + enable = mkBoolOpt false "Whether to enable social apps"; }; - + config = mkIf cfg.enable { + wyrdgard = { + apps = { + discord = enabled; + }; + }; + }; } diff --git a/modules/nixos/system/hardware/audio/default.nix b/modules/nixos/system/hardware/audio/default.nix index e27af05..3f8410b 100644 --- a/modules/nixos/system/hardware/audio/default.nix +++ b/modules/nixos/system/hardware/audio/default.nix @@ -10,6 +10,12 @@ in }; config = mkIf cfg.enable { + environment.systemPackages = with pkgs; [ + noisetorch + ]; + + programs.noisetorch.enable = true; + sound.enable = true; hardware.pulseaudio.enable = false; security.rtkit.enable = true; @@ -20,5 +26,7 @@ in alsa.support32Bit = true; pulse.enable = true; }; + + }; } diff --git a/systems/x86_64-linux/yggdrasil/default.nix b/systems/x86_64-linux/yggdrasil/default.nix index 9086469..1de82da 100644 --- a/systems/x86_64-linux/yggdrasil/default.nix +++ b/systems/x86_64-linux/yggdrasil/default.nix @@ -1,39 +1,36 @@ -{ pkgs -, config -, ... -}: { +{ pkgs, config, lib, ... }: +with lib; +with lib.wyrdgard; +{ imports = [ ./hardware.nix ]; - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - - users.users.cholli = { - isNormalUser = true; - extraGroups = [ "wheel" ]; - }; - environment.systemPackages = with pkgs; [ - neovim - snowfallorg.flake - git - gitAndTools.gh - kitty fish - vivaldi fd tree ripgrep - - nixfmt ]; - home-manager.useGlobalPkgs = true; + # nvidia + hardware.opengl = { + enable = true; + driSupport = true; + driSupport32Bit = true; + }; - networking.networkmanager.enable = true; + hardware.nvidia = { + modesetting.enable = true; + powerManagement.enable = false; + powerManagement.finegrained = false; + open = false; + nvidiaSettings = false; + package = config.boot.kernelPackages.nvidiaPackages.beta; + }; services.xserver = { enable = true; + videoDrivers = [ "nvidia" ]; displayManager.sddm.enable = true; desktopManager.plasma5.enable = true; layout = "us"; @@ -44,10 +41,24 @@ archetypes = { gaming.enable = true; }; + + apps = { + cli-apps = { + fish = enabled; + }; + vivaldi = enabled; + discord = enabled; + _1password = enabled; + }; }; # Configure Home-Manager options from NixOS. - snowfallorg.user.cholli.home.config = { }; + snowfallorg.user.cholli.home.config = { + programs.kitty = { + theme = "Tokyo Night"; + shellIntegration.enableFishIntegration = true; + }; + }; system.stateVersion = "23.11"; }