diff options
Diffstat (limited to 'nixos/desktop')
| -rw-r--r-- | nixos/desktop/apps.nix | 8 | ||||
| -rw-r--r-- | nixos/desktop/default.nix | 54 | ||||
| -rw-r--r-- | nixos/desktop/hyprland.nix | 44 | ||||
| -rw-r--r-- | nixos/desktop/xfce.nix | 26 |
4 files changed, 132 insertions, 0 deletions
diff --git a/nixos/desktop/apps.nix b/nixos/desktop/apps.nix new file mode 100644 index 0000000..5fdd823 --- /dev/null +++ b/nixos/desktop/apps.nix @@ -0,0 +1,8 @@ +{pkgs, ...} : +{ + environment.systemPackages = with pkgs; [ + floorp + neovim + kitty + ]; +} diff --git a/nixos/desktop/default.nix b/nixos/desktop/default.nix new file mode 100644 index 0000000..a634618 --- /dev/null +++ b/nixos/desktop/default.nix @@ -0,0 +1,54 @@ + +{pkgs, ...}: +{ + imports = [ + ./apps.nix + ./xfce.nix + ./hyprland.nix + ]; + + programs = { + dconf.enable = true; + thunar = { + enable = true; + plugins = with pkgs.xfce; [ + thunar-archive-plugin + thunar-media-tags-plugin + thunar-volman + ]; + }; + }; + # Enable CUPS to print documents. + services.printing.enable = true; + + + # Enable touchpad support (enabled default in most desktopManager). + services.libinput.enable = true; + + services = { + blueman.enable = true; + # Enable sound + pipewire = { + enable = true; + pulse.enable = true; + }; + + displayManager.sddm = { + enable=true; + wayland.enable = true; + #theme = "catppuccin-mocha"; + }; + xserver = { + enable = true; + excludePackages = with pkgs; [ + xterm + ]; + }; + }; + + fonts.packages = with pkgs; [ + noto-fonts + font-awesome + (nerdfonts.override {fonts = [ "Hermit" ]; }) + ]; +} diff --git a/nixos/desktop/hyprland.nix b/nixos/desktop/hyprland.nix new file mode 100644 index 0000000..687f2eb --- /dev/null +++ b/nixos/desktop/hyprland.nix @@ -0,0 +1,44 @@ +{pkgs, ...}: { + environment.systemPackages = with pkgs; [ + hyprland + hyprgui + hyprshot + hyprkeys + hypridle + hyprpaper + hyprpicker + hyprnotify + hyprcursor + waybar + waybar-mpris + ]; + + + services.xserver.exportConfiguration = true; # This makes it easy to search for a valid keymap + # Enable KDE6 env in case Hyprland gets borked. + # services.desktopManager.plasma6.enable = true; + programs.hyprland.enable = true; + programs.hyprland.withUWSM = true; + programs.uwsm = { + enable = true; + waylandCompositors ={ + hyprland = { + prettyName = "Hyprland"; + comment = "Hyprland compositor managed by UWSM"; + binPath = "/run/current-system/sw/bin/Hyprland"; + }; + }; + }; + + xdg.portal = { + enable = true; + config = { + common = { + default = [ + "hyprland" + "gtk" + ]; + }; + }; + }; +} diff --git a/nixos/desktop/xfce.nix b/nixos/desktop/xfce.nix new file mode 100644 index 0000000..563b205 --- /dev/null +++ b/nixos/desktop/xfce.nix @@ -0,0 +1,26 @@ +{pkgs, ...}: +{ + environment.systemPackages = with pkgs; [ + # XFCE stuff + xfce.catfish + xfce.xfce4-appfinder + xfce.xfce4-clipman-plugin + xfce.xfce4-cpugraph-plugin + xfce.xfce4-dict + xfce.xfce4-fsguard-plugin + xfce.xfce4-genmon-plugin + xfce.xfce4-netload-plugin + xfce.xfce4-panel + xfce.xfce4-pulseaudio-plugin + xfce.xfce4-systemload-plugin + xfce.xfce4-weather-plugin + xfce.xfce4-whiskermenu-plugin + xfce.xfce4-xkb-plugin + xfce.xfdashboard + + # GNOME stuff + file-roller + gnome-disk-utility + ]; + services.xserver.desktopManager.xfce.enable = true; +} |
