summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorJasper Ras <jaspert.ras@gmail.com>2024-11-13 22:33:37 +0100
committerJasper Ras <jaspert.ras@gmail.com>2024-11-13 22:39:43 +0100
commitf1d8afcc156b14ce44dde407bd76661bdc821e03 (patch)
treeba0b24b0c869d5c68ca8f1e5acb29d325979837f /modules
parent6c181cdefe9d8d7b2b6bd47d97c7c6768b7c2ae0 (diff)
Use flake-utils-plus and set-up multiple hosts
Diffstat (limited to 'modules')
-rw-r--r--modules/compositor.nix41
-rw-r--r--modules/gaming.nix5
-rw-r--r--modules/keyd.nix12
-rw-r--r--modules/nix-settings.nix8
-rw-r--r--modules/packages.nix11
-rw-r--r--modules/services.nix9
-rw-r--r--modules/sunshine.nix23
-rw-r--r--modules/virt.nix7
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;
+ };
+}