diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/compositor.nix | 41 | ||||
-rw-r--r-- | modules/gaming.nix | 5 | ||||
-rw-r--r-- | modules/keyd.nix | 12 | ||||
-rw-r--r-- | modules/nix-settings.nix | 8 | ||||
-rw-r--r-- | modules/packages.nix | 11 | ||||
-rw-r--r-- | modules/services.nix | 9 | ||||
-rw-r--r-- | modules/sunshine.nix | 23 | ||||
-rw-r--r-- | modules/virt.nix | 7 |
8 files changed, 116 insertions, 0 deletions
diff --git a/modules/compositor.nix b/modules/compositor.nix new file mode 100644 index 0000000..8226842 --- /dev/null +++ b/modules/compositor.nix @@ -0,0 +1,41 @@ +# https://wiki.nixos.org/wiki/Sway +{ inputs, pkgs, ... }: +{ + programs.hyprland = { + enable = true; + xwayland.enable = true; + package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; + portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; + }; + + environment.systemPackages = with pkgs; [ + kitty # Required by Hyprland + waybar + rofi-wayland-unwrapped + rofi-rbw-wayland + ]; + + services.gnome.gnome-keyring.enable = true; + + services.greetd = { + enable = true; + settings = { + default_session = { + command = "${pkgs.hyprland}/bin/hyprland"; + user = "jras"; + }; + }; + }; + + systemd.user.services.kanshi = { + description = "kanshi daemon"; + environment = { + WAYLAND_DISPLAY="wayland-1"; + DISPLAY=":0"; + }; + serviceConfig = { + Type = "simple"; + ExecStart = ''${pkgs.kanshi}/bin/kanshi -c kanshi_config_file''; + }; + }; +} diff --git a/modules/gaming.nix b/modules/gaming.nix new file mode 100644 index 0000000..781e12e --- /dev/null +++ b/modules/gaming.nix @@ -0,0 +1,5 @@ +{ config, pkgs, ... }: + +{ + programs.steam.enable = true; +} diff --git a/modules/keyd.nix b/modules/keyd.nix new file mode 100644 index 0000000..6b4e79d --- /dev/null +++ b/modules/keyd.nix @@ -0,0 +1,12 @@ +{ ... }: +{ + services.keyd = { + enable = true; + keyboards = { + default = { + ids = [ "*" ]; + settings.main.capslock = "overload(meta, esc)"; + }; + }; + }; +} diff --git a/modules/nix-settings.nix b/modules/nix-settings.nix new file mode 100644 index 0000000..8db69ad --- /dev/null +++ b/modules/nix-settings.nix @@ -0,0 +1,8 @@ +{ ... }: +{ + nix.settings = { + experimental-features = [ "nix-command" "flakes" ]; + substituters = ["https://hyprland.cachix.org"]; + trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="]; + }; +} diff --git a/modules/packages.nix b/modules/packages.nix new file mode 100644 index 0000000..d557a94 --- /dev/null +++ b/modules/packages.nix @@ -0,0 +1,11 @@ +{ pkgs, ... }: +{ + # List packages installed in system profile. To search, run: + # $ nix search wget + environment.systemPackages = with pkgs; [ + helix + alacritty + firefox + git + ]; +} diff --git a/modules/services.nix b/modules/services.nix new file mode 100644 index 0000000..ad4bfc5 --- /dev/null +++ b/modules/services.nix @@ -0,0 +1,9 @@ +{ ... }: +{ + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; +} diff --git a/modules/sunshine.nix b/modules/sunshine.nix new file mode 100644 index 0000000..86e68f4 --- /dev/null +++ b/modules/sunshine.nix @@ -0,0 +1,23 @@ +{ ... }: +{ + services.sunshine = { + enable = true; + autoStart = true; + capSysAdmin = true; + openFirewall = true; + # applications = { + # apps = [ + # { + # name = "Auto Desktop"; + # prep-cmd = [ + # { + # # do = "${pkgs.sway}/bin/swaymsg \"output DP-2 mode --custom \${SUNSHINE_CLIENT_WIDTH}x\${SUNSHINE_CLIENT_HEIGHT}@\${SUNSHINE_CLIENT_FPS}Hz\""; + # do = "${pkgs.zsh}/bin/zsh -c \"${pkgs.sway}/bin/swaymsg \"output DP-2 mode --custom 1920x1080@60Hz\"\""; + # undo = "${pkgs.sway}/bin/swaymsg \"output DP-2 mode 3440x1440\""; + # } + # ]; + # } + # ]; + # }; + }; +} diff --git a/modules/virt.nix b/modules/virt.nix new file mode 100644 index 0000000..e378c80 --- /dev/null +++ b/modules/virt.nix @@ -0,0 +1,7 @@ +{ ... }: +{ + virtualisation.docker = { + enable = true; + enableOnBoot = true; + }; +} |