diff --git a/hosts/marty-pc/default.nix b/hosts/marty-pc/default.nix index d4b95aa..946c8b4 100644 --- a/hosts/marty-pc/default.nix +++ b/hosts/marty-pc/default.nix @@ -38,6 +38,7 @@ protontricks.enable = true; }; services.flatpak.enable = true; + virtualisation.docker.enable = true; imports = [ ./hardware.nix ]; security.polkit = { diff --git a/hosts/marty-pc/home.nix b/hosts/marty-pc/home.nix index 48737ac..f387d97 100644 --- a/hosts/marty-pc/home.nix +++ b/hosts/marty-pc/home.nix @@ -88,6 +88,19 @@ "desc:Samsung Electric Company S24D330 0x5A5A5131, 1920x1080@60, 3840x1440, 1 # side monitor" "desc:Panasonic Industry Company Panasonic-TV, 3840x2160@30, 0x0, 1 # tv" ]; + workspaces.workspaces = [ + + "1, monitor:DP-1, persistent:true" + "2, monitor:DP-1, persistent:true" + "3, monitor:DP-1, persistent:true" + "4, monitor:DP-1, persistent:true" + "5, monitor:HDMI-A-1, persistent:true" + "6, monitor:HDMI-A-1, persistent:true" + "7, monitor:HDMI-A-1, persistent:true" + "8, monitor:HDMI-A-1, persistent:true" + "9, monitor:DP-3, persistent:true" + "special:magic" + ]; }; }; gaming.steam.enable = true; diff --git a/hosts/marty-server/default.nix b/hosts/marty-server/default.nix index 76767e0..8cf2c59 100644 --- a/hosts/marty-server/default.nix +++ b/hosts/marty-server/default.nix @@ -30,4 +30,6 @@ }; }; imports = [ ./hardware.nix ]; + + virtualisation.docker.enable = true; } diff --git a/modules/connectivity/default.nix b/modules/connectivity/default.nix index c38baf1..6abd027 100644 --- a/modules/connectivity/default.nix +++ b/modules/connectivity/default.nix @@ -9,5 +9,6 @@ imports = [ ./internet ./bluetooth + ./mounts ]; } diff --git a/modules/connectivity/internet/zen-browser.nix b/modules/connectivity/internet/zen-browser.nix index 1c32424..c970712 100644 --- a/modules/connectivity/internet/zen-browser.nix +++ b/modules/connectivity/internet/zen-browser.nix @@ -34,6 +34,9 @@ let (extension "simplelogin" "addon@simplelogin") (extension "localcdn-fork-of-decentraleyes" "{b86e4813-687a-43e6-ab65-0bde4ab75758}") (extension "catppuccin-web-file-icons" "{bbb880ce-43c9-47ae-b746-c3e0096c5b76}") + (extension "peertube-companion" "peertube-companion@booteille") + (extension "peertubeify" "{01175c8e-4506-4263-bad9-d3ddfd4f5a5f}") + (extension "peertube-picks" "{937c0767-0608-41e2-917a-8bf06601275a}") # ... ]; diff --git a/modules/connectivity/mounts/default.nix b/modules/connectivity/mounts/default.nix new file mode 100644 index 0000000..cd67c8d --- /dev/null +++ b/modules/connectivity/mounts/default.nix @@ -0,0 +1,12 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + imports = [ + ./sshfs.nix + ]; +} diff --git a/modules/connectivity/mounts/sshfs.nix b/modules/connectivity/mounts/sshfs.nix new file mode 100644 index 0000000..5dc0326 --- /dev/null +++ b/modules/connectivity/mounts/sshfs.nix @@ -0,0 +1,28 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + options = { + }; + config = { + programs.sftpman = { + enable = true; + mounts = { + marty-server = { + host = "marty-server"; + user = "marty"; + mountOptions = [ + "/mnt/Server" + ]; + mountPoint = "/"; + }; + }; + package = pkgs.sshfs; + defaultSshKey = "~/.ssh/id_ed25519"; + }; + }; +} diff --git a/modules/default.nix b/modules/default.nix index d995317..b6e3215 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -16,5 +16,6 @@ ./connectivity ./media ./social-media + ./server ]; } diff --git a/modules/defaults/desktop.nix b/modules/defaults/desktop.nix index 4a46713..806ceac 100644 --- a/modules/defaults/desktop.nix +++ b/modules/defaults/desktop.nix @@ -10,6 +10,8 @@ config = lib.mkIf config.device.type.desktop { development = lib.mkDefault { vscodium.enable = true; + godot.enable = true; + python.enable = true; }; terminal = lib.mkDefault { kitty.enable = true; diff --git a/modules/desktop/hyprland.nix b/modules/desktop/hyprland.nix index 21571d6..96a03fa 100644 --- a/modules/desktop/hyprland.nix +++ b/modules/desktop/hyprland.nix @@ -27,7 +27,7 @@ ws = i + 1; in [ - "name:${toString i},,persistent:true" + "${toString i},persistent:true" ] ) config.desktop.hyprland.workspaces.amount ) @@ -62,7 +62,7 @@ wayland.windowManager.hyprland = { enable = true; xwayland.enable = true; - systemd.enable = true; + systemd.enable = false; package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; @@ -74,6 +74,8 @@ (lib.mkIf (config.desktop.walker.enable) "elephant") (lib.mkIf (config.desktop.waybar.enable) "waybar") (lib.mkIf (config.desktop.wallpaper.enable) "waypaper --restore --random") + (lib.mkIf (config.gaming.steam.enable) "adwaita-steam-gtk - i; steam --silent") + ]; "$mod" = "SUPER"; "$shiftmod" = "SUPER_SHIFT"; @@ -106,7 +108,7 @@ "$mod, down, movefocus, d" "$mod, J, exec, playerctl previous" "$mod, K, exec, playerctl play-pause" - "$mod, L, exec, playerctl, next" + "$mod, L, exec, playerctl next" "$mod, G, togglefloating," # "$mod, H, hyprexpo:expo, toggle" "$mod, F1, exec, hyprlock" @@ -167,7 +169,7 @@ }; plugin = { hyprexpo = { - columns = 3; + columns = 2; gap_size = 20; bg_col = "rgb(e1e1e2)"; workspace_method = "first 1"; @@ -183,7 +185,7 @@ }; plugins = [ inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprtrails - inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprexpo + # inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprexpo ]; }; diff --git a/modules/development/default.nix b/modules/development/default.nix index 34c5a08..4cf882c 100644 --- a/modules/development/default.nix +++ b/modules/development/default.nix @@ -9,6 +9,8 @@ imports = [ ./git.nix ./vscodium.nix + ./python.nix + ./godot.nix ]; } diff --git a/modules/development/godot.nix b/modules/development/godot.nix new file mode 100644 index 0000000..a62c5db --- /dev/null +++ b/modules/development/godot.nix @@ -0,0 +1,20 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + options = { + development = { + godot.enable = lib.mkEnableOption "enable godot"; + }; + }; + + config = lib.mkIf config.development.godot.enable { + home.packages = with pkgs; [ + godot + ]; + }; +} diff --git a/modules/development/python.nix b/modules/development/python.nix new file mode 100644 index 0000000..42695ed --- /dev/null +++ b/modules/development/python.nix @@ -0,0 +1,21 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + options = { + development = { + python.enable = lib.mkEnableOption "enable python"; + }; + }; + + config = lib.mkIf config.development.python.enable { + home.packages = with pkgs; [ + uv + virtualenv + ]; + }; +} diff --git a/modules/gaming/steam.nix b/modules/gaming/steam.nix index b86360e..dfb178f 100644 --- a/modules/gaming/steam.nix +++ b/modules/gaming/steam.nix @@ -13,6 +13,9 @@ }; config = lib.mkIf config.gaming.steam.enable { - home.packages = with pkgs; [steam]; + home.packages = with pkgs; [ + steam + adwsteamgtk + ]; }; } diff --git a/modules/server/default.nix b/modules/server/default.nix new file mode 100644 index 0000000..ac8d491 --- /dev/null +++ b/modules/server/default.nix @@ -0,0 +1,12 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + imports = [ + ./docker + ]; +} diff --git a/modules/server/docker/default.nix b/modules/server/docker/default.nix new file mode 100644 index 0000000..60b6656 --- /dev/null +++ b/modules/server/docker/default.nix @@ -0,0 +1,14 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + programs = { + lazydocker = { + enable = true; + }; + }; +} diff --git a/system/display-manager.nix b/system/display-manager.nix index 759949f..d5cf4a3 100644 --- a/system/display-manager.nix +++ b/system/display-manager.nix @@ -17,5 +17,8 @@ enable = true; }; }; - programs.hyprland.enable = true; + programs.hyprland = { + enable = true; + withUWSM = true; + }; } diff --git a/user/default.nix b/user/default.nix index f15a04a..f1c446e 100644 --- a/user/default.nix +++ b/user/default.nix @@ -34,6 +34,7 @@ "video" "audio" "render" + "docker" ]; shell = pkgs.fish; };