summaryrefslogtreecommitdiff
path: root/nixos/desktop
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--nixos/desktop/apps.nix8
-rw-r--r--nixos/desktop/default.nix54
-rw-r--r--nixos/desktop/hyprland.nix44
-rw-r--r--nixos/desktop/xfce.nix26
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;
+}