aboutsummaryrefslogtreecommitdiff
path: root/modules/desktop/system/environments
diff options
context:
space:
mode:
Diffstat (limited to 'modules/desktop/system/environments')
-rw-r--r--modules/desktop/system/environments/gnome.nix67
-rw-r--r--modules/desktop/system/environments/sway.nix103
2 files changed, 170 insertions, 0 deletions
diff --git a/modules/desktop/system/environments/gnome.nix b/modules/desktop/system/environments/gnome.nix
new file mode 100644
index 0000000..e4f6922
--- /dev/null
+++ b/modules/desktop/system/environments/gnome.nix
@@ -0,0 +1,67 @@
+{
+ pkgs,
+ config,
+ lib,
+ ...
+}: let
+ cfg = config.collinux.desktop.gnome;
+in
+ lib.mkIf cfg.enable {
+ services.xserver = {
+ displayManager.gdm = {
+ enable = true;
+ wayland = true;
+ };
+ desktopManager.gnome.enable = true;
+ };
+
+ environment.gnome.excludePackages = with pkgs; [
+ orca
+ evince
+ file-roller
+ geary
+ gnome-disk-utility
+ seahorse
+ # sushi
+ # sysprof
+ # gnome-shell-extensions
+ adwaita-icon-theme
+ # nixos-background-info
+ gnome-backgrounds
+ # gnome-bluetooth
+ # gnome-color-manager
+ # gnome-control-center
+ # gnome-shell-extensions
+ gnome-tour # GNOME Shell detects the .desktop file on first log-in.
+ gnome-user-docs
+ # glib # for gsettings program
+ # gnome-menus
+ # gtk3.out # for gtk-launch program
+ # xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/
+ # xdg-user-dirs-gtk # Used to create the default bookmarks
+ #
+ baobab
+ epiphany
+ gnome-text-editor
+ gnome-calculator
+ gnome-calendar
+ gnome-characters
+ # gnome-clocks
+ gnome-console
+ gnome-contacts
+ gnome-font-viewer
+ gnome-logs
+ gnome-maps
+ gnome-music
+ # gnome-system-monitor
+ gnome-weather
+ # loupe
+ # nautilus
+ gnome-connections
+ simple-scan
+ snapshot
+ totem
+ yelp
+ gnome-software
+ ];
+ }
diff --git a/modules/desktop/system/environments/sway.nix b/modules/desktop/system/environments/sway.nix
new file mode 100644
index 0000000..467363a
--- /dev/null
+++ b/modules/desktop/system/environments/sway.nix
@@ -0,0 +1,103 @@
+{
+ pkgs,
+ config,
+ lib,
+ ...
+}: let
+ cfg = config.collinux.desktop.sway;
+
+ colors = pkgs.writeText "catppuccin-mocha" ''
+ set $rosewater #f5e0dc
+ set $flamingo #f2cdcd
+ set $pink #f5c2e7
+ set $mauve #cba6f7
+ set $red #f38ba8
+ set $maroon #eba0ac
+ set $peach #fab387
+ set $yellow #f9e2af
+ set $green #a6e3a1
+ set $teal #94e2d5
+ set $sky #89dceb
+ set $sapphire #74c7ec
+ set $blue #89b4fa
+ set $lavender #b4befe
+ set $text #cdd6f4
+ set $subtext1 #bac2de
+ set $subtext0 #a6adc8
+ set $overlay2 #9399b2
+ set $overlay1 #7f849c
+ set $overlay0 #6c7086
+ set $surface2 #585b70
+ set $surface1 #45475a
+ set $surface0 #313244
+ set $base #1e1e2e
+ set $mantle #181825
+ set $crust #11111b
+ '';
+
+ settings = pkgs.writeText "config" ''
+ exec ${pkgs.foot}/bin/foot --server
+ exec ${pkgs.swaybg}/bin/swaybg -i ${config.collinux.desktop.wallpaper}
+
+ include catppuccin-mocha
+
+ # target title bg text indicator border
+ client.focused $lavender $base $text $rosewater $lavender
+ client.focused_inactive $overlay0 $base $text $rosewater $overlay0
+ client.unfocused $overlay0 $base $text $rosewater $overlay0
+ client.urgent $peach $base $peach $overlay0 $peach
+ client.placeholder $overlay0 $base $text $overlay0 $overlay0
+ client.background $base
+
+ # bar {
+ # colors {
+ # background $base
+ # statusline $text
+ # focused_statusline $text
+ # focused_separator $base
+
+ # # target border bg text
+ # focused_workspace $base $mauve $crust
+ # active_workspace $base $surface2 $text
+ # inactive_workspace $base $base $text
+ # urgent_workspace $base $red $crust
+ # }
+ # }
+
+ bindsym Mod4+1 workspace number 1
+ bindsym Mod4+2 workspace number 2
+ bindsym Mod4+3 workspace number 3
+ bindsym Mod4+4 workspace number 4
+ bindsym Mod4+Return exec "${pkgs.foot}/bin/footclient"
+ bindsym Mod4+Shift+Return exec ${pkgs.foot}/bin/foot
+ bindsym Mod4+Space exec ${pkgs.fuzzel}/bin/fuzzel
+ bindsym Mod4+b exec ${pkgs.firefox}/bin/firefox
+ bindsym Mod4+q kill
+
+ default_border pixel 2
+ smart_borders on
+ smart_gaps on
+ '';
+in
+ lib.mkIf cfg.enable {
+ hjem.users."${config.collinux.user.name}" = {
+ files = {
+ ".config/sway/config".source = settings;
+ ".config/sway/catppuccin-mocha".source = colors;
+ };
+
+ packages = [pkgs.sway];
+ };
+
+ # Greetd
+ services.greetd = {
+ enable = true;
+ settings = rec {
+ initial_session = {
+ command = "${pkgs.sway}/bin/sway";
+ user = config.collinux.user.name;
+ };
+ default_session = initial_session;
+ };
+ };
+ }