From 6a9de226ef13c7637435b0ad25c3752a02077772 Mon Sep 17 00:00:00 2001 From: gytic <149968794+gytic@users.noreply.github.com> Date: Fri, 25 Jul 2025 18:04:18 +0200 Subject: [PATCH 1/9] feat(nixos-95): extract DE themining into nixosModule the desktop environment can be included via `self.nixosModules.nixos95` this will expose two options (for now): nixos95.enable -> enable the desktop environment nixos95.wallpaper -> path to the wallpaper to use currently the setup is closy coupled to this configuration, which will change in the future, so it can be used with any configuration --- .../Hosts/Default/configuration.nix | 36 ++------- Configurations/Hosts/Default/home/home.nix | 3 - Modules/Desktops/XFCE-retro/default.nix | 79 ------------------- README.md | 12 ++- flake.nix | 3 + nixos95/core.nix | 22 ++++++ nixos95/default.nix | 24 ++++++ nixos95/desktop.nix | 35 ++++++++ .../dotfiles}/launcher-13/brave.desktop | 0 .../dotfiles}/launcher-14/signal.desktop | 0 .../dotfiles}/launcher-15/obsidian.desktop | 0 .../dotfiles}/launcher-16/spotify.desktop | 0 .../dotfiles}/xfce4-desktop.xml | 4 +- .../dotfiles}/xfce4-keyboard-shortcuts.xml | 0 .../dotfiles}/xfce4-panel.xml | 0 .../dotfiles}/xfce4-sessions.xml | 0 .../Dotfiles => nixos95/dotfiles}/xfwm4.xml | 0 .../dotfiles}/xsettings.xml | 0 nixos95/keybinds.nix | 20 +++++ nixos95/taskbar.nix | 30 +++++++ nixos95/theme.nix | 35 ++++++++ 21 files changed, 185 insertions(+), 118 deletions(-) delete mode 100644 Modules/Desktops/XFCE-retro/default.nix create mode 100644 nixos95/core.nix create mode 100644 nixos95/default.nix create mode 100644 nixos95/desktop.nix rename {Modules/Desktops/XFCE-retro/Dotfiles => nixos95/dotfiles}/launcher-13/brave.desktop (100%) rename {Modules/Desktops/XFCE-retro/Dotfiles => nixos95/dotfiles}/launcher-14/signal.desktop (100%) rename {Modules/Desktops/XFCE-retro/Dotfiles => nixos95/dotfiles}/launcher-15/obsidian.desktop (100%) rename {Modules/Desktops/XFCE-retro/Dotfiles => nixos95/dotfiles}/launcher-16/spotify.desktop (100%) rename {Modules/Desktops/XFCE-retro/Dotfiles => nixos95/dotfiles}/xfce4-desktop.xml (85%) rename {Modules/Desktops/XFCE-retro/Dotfiles => nixos95/dotfiles}/xfce4-keyboard-shortcuts.xml (100%) rename {Modules/Desktops/XFCE-retro/Dotfiles => nixos95/dotfiles}/xfce4-panel.xml (100%) rename {Modules/Desktops/XFCE-retro/Dotfiles => nixos95/dotfiles}/xfce4-sessions.xml (100%) rename {Modules/Desktops/XFCE-retro/Dotfiles => nixos95/dotfiles}/xfwm4.xml (100%) rename {Modules/Desktops/XFCE-retro/Dotfiles => nixos95/dotfiles}/xsettings.xml (100%) create mode 100644 nixos95/keybinds.nix create mode 100644 nixos95/taskbar.nix create mode 100644 nixos95/theme.nix diff --git a/Configurations/Hosts/Default/configuration.nix b/Configurations/Hosts/Default/configuration.nix index 8df8f3e..197a190 100644 --- a/Configurations/Hosts/Default/configuration.nix +++ b/Configurations/Hosts/Default/configuration.nix @@ -23,48 +23,24 @@ in { # Home Manager integration inputs.home-manager.nixosModules.home-manager + # nixos95 + inputs.self.nixosModules.nixos95 + ]; ################################################################ # Display & Desktop Environment ################################################################ - services.xserver = { + nixos95 = { enable = true; - desktopManager.xfce.enable = true; - xkb = { - layout = "de"; - variant = ""; - }; + user = username; }; - services.xserver.displayManager.lightdm.enable = false; - - services.displayManager.sddm = { - enable = true; - package = pkgs.qt6Packages.sddm; - }; - - xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; - ################################################################ # System Packages (XFCE & Utilities) ################################################################ environment.systemPackages = with pkgs; [ - xdg-desktop-portal-gtk - - # XFCE Core - xfce.xfwm4 - xfce.xfce4-panel - xfce.xfce4-session - xfce.xfce4-settings - xfce.thunar - xfce.mousepad - xfce.xfce4-terminal - xfce.xfce4-appfinder - xfce.xfce4-power-manager - xfce.xfce4-notifyd - xfce.xfce4-whiskermenu-plugin # Optional Extras xfce.gigolo @@ -136,4 +112,4 @@ in { ################################################################ system.stateVersion = "25.05"; -} \ No newline at end of file +} diff --git a/Configurations/Hosts/Default/home/home.nix b/Configurations/Hosts/Default/home/home.nix index 7c4a2a1..c81b378 100644 --- a/Configurations/Hosts/Default/home/home.nix +++ b/Configurations/Hosts/Default/home/home.nix @@ -24,9 +24,6 @@ in { # All Home Manager Modules ../../../../Modules/Applications - # Extended Retro theme - ../../../../Modules/Desktops/XFCE-retro - # Desktop applications ./desktop.nix ]; diff --git a/Modules/Desktops/XFCE-retro/default.nix b/Modules/Desktops/XFCE-retro/default.nix deleted file mode 100644 index c561c3a..0000000 --- a/Modules/Desktops/XFCE-retro/default.nix +++ /dev/null @@ -1,79 +0,0 @@ -{ - config, - pkgs, - lib, - ... -}: let - - chicago95 = pkgs.callPackage ../../../Ressources/Themes/Chicago95/chicago95.nix {}; - dotfilesPath = ./Dotfiles; - resourcesPath = ../../../Ressources; - wallpaperFile = "Wallpaper/NixOS-95-wallpaper.png"; - wallpaperPath = "${config.home.homeDirectory}/${wallpaperFile}"; - wallpaperOrigin = "${resourcesPath}/Images/Wallpapers/Wallpaper-1.png"; - dotfiles = "${dotfilesPath}"; -in { - gtk = { - enable = true; - theme = { - name = "Chicago95"; - package = chicago95; - }; - iconTheme = { - name = "Win95_plus"; - package = pkgs.callPackage ../../../Ressources/Themes/Win95_plus/win95_plus.nix {}; - }; - cursorTheme = { - name = "Chicago95"; - package = chicago95; - }; - font = { - name = "Sans"; - size = 12; - }; - }; - - home.pointerCursor = { - name = "Chicago95"; - package = chicago95; - size = 24; - gtk.enable = true; - x11.enable = true; - }; - - home.packages = with pkgs; [ - xfce.xfce4-panel - xfce.xfconf - xfce.xfdesktop - xfce.xfce4-whiskermenu-plugin - xfce.xfce4-docklike-plugin - xorg.xrandr - ]; - - home.file = { - "${wallpaperFile}" = { - source = wallpaperOrigin; - }; - }; - - xdg.configFile = { - "xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml".source = "${dotfiles}/xfce4-desktop.xml"; - "xfce4/xfconf/xfce-perchannel-xml/xfce4-sessions.xml".source = "${dotfiles}/xfce4-sessions.xml"; - "xfce4/xfconf/xfce-perchannel-xml/xsettings.xml".source = "${dotfiles}/xsettings.xml"; - "xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml".source = "${dotfiles}/xfwm4.xml"; - "xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml".source = "${dotfiles}/xfce4-keyboard-shortcuts.xml"; - - # Panel: - "xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml".source = "${dotfiles}/xfce4-panel.xml"; - "xfce4/panel/launcher-13/brave.desktop".source = "${dotfiles}/launcher-13/brave.desktop"; - "xfce4/panel/launcher-14/signal.desktop".source = "${dotfiles}/launcher-14/signal.desktop"; - "xfce4/panel/launcher-15/obsidian.desktop".source = "${dotfiles}/launcher-15/obsidian.desktop"; - "xfce4/panel/launcher-16/spotify.desktop".source = "${dotfiles}/launcher-16/spotify.desktop"; - - - }; - - home.activation.applyXfceTweaks = lib.hm.dag.entryAfter ["writeBoundary"] '' - ${pkgs.xfce.xfdesktop}/bin/xfdesktop --reload - ''; -} diff --git a/README.md b/README.md index cf8f3ad..e6f3eda 100644 --- a/README.md +++ b/README.md @@ -40,11 +40,15 @@ NixOS-95/ │ └── user-vars.nix ├── Modules/ │ ├── Applications/ -│ ├── Desktops/ -│ │ └── XFCE-retro/ -│ │ ├── default.nix -│ │ └── Dotfiles/ │ └── System/ +├── nixos95 +│   ├── dotfiles/ +│   ├── core.nix +│   ├── default.nix +│   ├── desktop.nix +│   ├── keybinds.nix +│   ├── taskbar.nix +│   └── theme.nix ├── Ressources/ │ ├── Icons/ │ ├── Images/ diff --git a/flake.nix b/flake.nix index 8e08c98..2950a72 100644 --- a/flake.nix +++ b/flake.nix @@ -23,6 +23,9 @@ home-manager, ... }: { + + nixosModules.nixos95 = import ./nixos95; + nixosConfigurations = { ############################################################ # 💻 Default Host diff --git a/nixos95/core.nix b/nixos95/core.nix new file mode 100644 index 0000000..5695274 --- /dev/null +++ b/nixos95/core.nix @@ -0,0 +1,22 @@ +{ config, lib, pkgs, ... }: let + cfg = config.nixos95; +in lib.mkIf cfg.enable { + + services.xserver = { + enable = true; + desktopManager.xfce.enable = true; + xkb = { + layout = "de"; + variant = ""; + }; + }; + services.xserver.displayManager.lightdm.enable = false; + + services.displayManager.sddm = { + enable = true; + package = pkgs.qt6Packages.sddm; + }; + + xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; + +} diff --git a/nixos95/default.nix b/nixos95/default.nix new file mode 100644 index 0000000..744b77b --- /dev/null +++ b/nixos95/default.nix @@ -0,0 +1,24 @@ +{ config, lib, ...}: let + cfg = config.nixos95; +in { + + options.nixos95 = { + enable = lib.mkEnableOption "NixOS-95 Desktop environment"; + user = lib.mkOption { + description = '' + Username of the home-manager user. + ''; + type = lib.types.str; + example = "user"; + }; + }; + + imports = [ + ./core.nix + ./desktop.nix + ./keybinds.nix + ./taskbar.nix + ./theme.nix + ]; + +} diff --git a/nixos95/desktop.nix b/nixos95/desktop.nix new file mode 100644 index 0000000..9cfd47e --- /dev/null +++ b/nixos95/desktop.nix @@ -0,0 +1,35 @@ +{ inputs, config, lib, pkgs, ... }: let + cfg = config.nixos95; +in { + + options.nixos95 = { + + wallpaper = lib.mkOption { + description = "The wallpaper to use"; + type = lib.types.path; + default = "${inputs.self}/Ressources/Images/Wallpapers/Wallpaper-1.png"; + }; + + }; + + config = lib.mkIf cfg.enable { + + home-manager.users.${cfg.user} = { + + xdg.configFile = { + "xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml" = let + sed = lib.getExe pkgs.gnused; + desktop = pkgs.runCommand "desktop.xml" { } '' + ${sed} -e "s|NIXOS-95_WALLPAPER|${cfg.wallpaper}|g" ${./dotfiles/xfce4-desktop.xml} > $out + ''; + in { + force = true; + source = desktop; + }; + }; + + }; + + }; + +} diff --git a/Modules/Desktops/XFCE-retro/Dotfiles/launcher-13/brave.desktop b/nixos95/dotfiles/launcher-13/brave.desktop similarity index 100% rename from Modules/Desktops/XFCE-retro/Dotfiles/launcher-13/brave.desktop rename to nixos95/dotfiles/launcher-13/brave.desktop diff --git a/Modules/Desktops/XFCE-retro/Dotfiles/launcher-14/signal.desktop b/nixos95/dotfiles/launcher-14/signal.desktop similarity index 100% rename from Modules/Desktops/XFCE-retro/Dotfiles/launcher-14/signal.desktop rename to nixos95/dotfiles/launcher-14/signal.desktop diff --git a/Modules/Desktops/XFCE-retro/Dotfiles/launcher-15/obsidian.desktop b/nixos95/dotfiles/launcher-15/obsidian.desktop similarity index 100% rename from Modules/Desktops/XFCE-retro/Dotfiles/launcher-15/obsidian.desktop rename to nixos95/dotfiles/launcher-15/obsidian.desktop diff --git a/Modules/Desktops/XFCE-retro/Dotfiles/launcher-16/spotify.desktop b/nixos95/dotfiles/launcher-16/spotify.desktop similarity index 100% rename from Modules/Desktops/XFCE-retro/Dotfiles/launcher-16/spotify.desktop rename to nixos95/dotfiles/launcher-16/spotify.desktop diff --git a/Modules/Desktops/XFCE-retro/Dotfiles/xfce4-desktop.xml b/nixos95/dotfiles/xfce4-desktop.xml similarity index 85% rename from Modules/Desktops/XFCE-retro/Dotfiles/xfce4-desktop.xml rename to nixos95/dotfiles/xfce4-desktop.xml index 8c8d4cb..f74c768 100644 --- a/Modules/Desktops/XFCE-retro/Dotfiles/xfce4-desktop.xml +++ b/nixos95/dotfiles/xfce4-desktop.xml @@ -5,13 +5,13 @@ - + - + diff --git a/Modules/Desktops/XFCE-retro/Dotfiles/xfce4-keyboard-shortcuts.xml b/nixos95/dotfiles/xfce4-keyboard-shortcuts.xml similarity index 100% rename from Modules/Desktops/XFCE-retro/Dotfiles/xfce4-keyboard-shortcuts.xml rename to nixos95/dotfiles/xfce4-keyboard-shortcuts.xml diff --git a/Modules/Desktops/XFCE-retro/Dotfiles/xfce4-panel.xml b/nixos95/dotfiles/xfce4-panel.xml similarity index 100% rename from Modules/Desktops/XFCE-retro/Dotfiles/xfce4-panel.xml rename to nixos95/dotfiles/xfce4-panel.xml diff --git a/Modules/Desktops/XFCE-retro/Dotfiles/xfce4-sessions.xml b/nixos95/dotfiles/xfce4-sessions.xml similarity index 100% rename from Modules/Desktops/XFCE-retro/Dotfiles/xfce4-sessions.xml rename to nixos95/dotfiles/xfce4-sessions.xml diff --git a/Modules/Desktops/XFCE-retro/Dotfiles/xfwm4.xml b/nixos95/dotfiles/xfwm4.xml similarity index 100% rename from Modules/Desktops/XFCE-retro/Dotfiles/xfwm4.xml rename to nixos95/dotfiles/xfwm4.xml diff --git a/Modules/Desktops/XFCE-retro/Dotfiles/xsettings.xml b/nixos95/dotfiles/xsettings.xml similarity index 100% rename from Modules/Desktops/XFCE-retro/Dotfiles/xsettings.xml rename to nixos95/dotfiles/xsettings.xml diff --git a/nixos95/keybinds.nix b/nixos95/keybinds.nix new file mode 100644 index 0000000..06b92ed --- /dev/null +++ b/nixos95/keybinds.nix @@ -0,0 +1,20 @@ +/** +* For now this just hard copies the config file. +* This can be improved by allowing users to define there own keybinds +*/ +{ config, lib, ... }: let + cfg = config.nixos95; +in lib.mkIf cfg.enable { + + home-manager.users.${cfg.user} = { + + xdg.configFile = { + "xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml" = { + force = true; + source = ./dotfiles/xfce4-keyboard-shortcuts.xml; + }; + }; + + }; + +} diff --git a/nixos95/taskbar.nix b/nixos95/taskbar.nix new file mode 100644 index 0000000..1c74c8b --- /dev/null +++ b/nixos95/taskbar.nix @@ -0,0 +1,30 @@ +/** +* For now this just hard copies the config file. +* This can be improved by allowing users to define there own task bar config +*/ +{ config, lib, pkgs, ... }: let + cfg = config.nixos95; +in lib.mkIf cfg.enable { + + environment.systemPackages = [ + pkgs.xfce.xfce4-whiskermenu-plugin + ]; + + home-manager.users.${cfg.user} = { + + xdg.configFile = { + "xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml" = { + force = true; + source = ./dotfiles/xfce4-panel.xml; + }; + + # Panel: + "xfce4/panel/launcher-13/brave.desktop".source = ./dotfiles/launcher-13/brave.desktop; + "xfce4/panel/launcher-14/signal.desktop".source = ./dotfiles/launcher-14/signal.desktop; + "xfce4/panel/launcher-15/obsidian.desktop".source = ./dotfiles/launcher-15/obsidian.desktop; + "xfce4/panel/launcher-16/spotify.desktop".source = ./dotfiles/launcher-16/spotify.desktop; + }; + + }; + +} diff --git a/nixos95/theme.nix b/nixos95/theme.nix new file mode 100644 index 0000000..e0436a9 --- /dev/null +++ b/nixos95/theme.nix @@ -0,0 +1,35 @@ +{ inputs, config, lib, pkgs, ... }: let + cfg = config.nixos95; + + theme_dir = "${inputs.self}/Ressources/Themes"; + baseTheme = { + name = "Chicago95"; + package = pkgs.callPackage "${theme_dir}/Chicago95/chicago95.nix" { }; + }; + iconTheme = { + name = "Win95_plus"; + package = pkgs.callPackage "${theme_dir}/Win95_plus/win95_plus.nix" { }; + }; +in lib.mkIf cfg.enable { + + home-manager.users.${cfg.user} = { + gtk = { + enable = true; + theme = baseTheme; + iconTheme = iconTheme; + cursorTheme = baseTheme; + font = { + name = "Sans"; + size = 12; + }; + }; + + home.pointerCursor = { + size = 24; + gtk.enable = true; + x11.enable = true; + } // baseTheme; + }; + +} + -- 2.51.2 From ddcb125ee3502f992ab2ef95b7b84718647127b5 Mon Sep 17 00:00:00 2001 From: gytic <149968794+gytic@users.noreply.github.com> Date: Sun, 27 Jul 2025 01:28:01 +0200 Subject: [PATCH 2/9] feat(taskbar): allow users to configure the taskbar there are now options to: - enable a battery icon (nixos95.taskbar.battery-plugin.enable) - change the home icon (nixos95.taskbar.homeIcon) - define pinned applications (nixos95.taskbar.applications) --- nixos95/dotfiles/battery.rc | 19 ++ nixos95/dotfiles/launcher-13/brave.desktop | 10 - nixos95/dotfiles/launcher-14/signal.desktop | 11 - nixos95/dotfiles/launcher-15/obsidian.desktop | 10 - nixos95/dotfiles/launcher-16/spotify.desktop | 10 - nixos95/dotfiles/xfce4-panel.xml | 81 ------- nixos95/taskbar.nix | 215 ++++++++++++++++-- 7 files changed, 218 insertions(+), 138 deletions(-) create mode 100644 nixos95/dotfiles/battery.rc delete mode 100644 nixos95/dotfiles/launcher-13/brave.desktop delete mode 100644 nixos95/dotfiles/launcher-14/signal.desktop delete mode 100644 nixos95/dotfiles/launcher-15/obsidian.desktop delete mode 100644 nixos95/dotfiles/launcher-16/spotify.desktop delete mode 100644 nixos95/dotfiles/xfce4-panel.xml diff --git a/nixos95/dotfiles/battery.rc b/nixos95/dotfiles/battery.rc new file mode 100644 index 0000000..cc72256 --- /dev/null +++ b/nixos95/dotfiles/battery.rc @@ -0,0 +1,19 @@ +display_label=false +display_icon=true +display_power=false +display_percentage=false +display_bar=false +display_time=false +tooltip_display_percentage=true +tooltip_display_time=false +low_percentage=30 +critical_percentage=20 +action_on_low=1 +action_on_critical=1 +hide_when_full=0 +colorA=rgb(119,118,123) +colorH=rgb(143,240,164) +colorL=rgb(248,228,92) +colorC=rgb(237,51,59) +command_on_low= +command_on_critical= diff --git a/nixos95/dotfiles/launcher-13/brave.desktop b/nixos95/dotfiles/launcher-13/brave.desktop deleted file mode 100644 index 82e79b8..0000000 --- a/nixos95/dotfiles/launcher-13/brave.desktop +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Version=1.0 -Type=Application -Name=Brave -GenericName=Web Browser -Comment=Browse the Web -Exec=brave -Icon=world -Terminal=false -Categories=Network;WebBrowser; diff --git a/nixos95/dotfiles/launcher-14/signal.desktop b/nixos95/dotfiles/launcher-14/signal.desktop deleted file mode 100644 index cd6cee7..0000000 --- a/nixos95/dotfiles/launcher-14/signal.desktop +++ /dev/null @@ -1,11 +0,0 @@ -[Desktop Entry] -Version=1.0 -Type=Application -Name=Signal - -Comment=Private Messenger -Exec=signal-desktop %U -Icon=signal-desktop -Terminal=false -Categories=Network;InstantMessaging; - diff --git a/nixos95/dotfiles/launcher-15/obsidian.desktop b/nixos95/dotfiles/launcher-15/obsidian.desktop deleted file mode 100644 index 80b6393..0000000 --- a/nixos95/dotfiles/launcher-15/obsidian.desktop +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Version=1.0 -Type=Application -Name=Obsidian - -Comment=Markdown Editor -Exec=obsidian %u -Icon=obsidian -Terminal=false -Categories=Office;Utility; \ No newline at end of file diff --git a/nixos95/dotfiles/launcher-16/spotify.desktop b/nixos95/dotfiles/launcher-16/spotify.desktop deleted file mode 100644 index e514b9d..0000000 --- a/nixos95/dotfiles/launcher-16/spotify.desktop +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Version=1.0 -Type=Application -Name=Spotify - -Comment=Spotify Music -Exec=spotify %U -Icon=spotify -Terminal=false -Categories=AudioVideo;Player; diff --git a/nixos95/dotfiles/xfce4-panel.xml b/nixos95/dotfiles/xfce4-panel.xml deleted file mode 100644 index 6286790..0000000 --- a/nixos95/dotfiles/xfce4-panel.xml +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/nixos95/taskbar.nix b/nixos95/taskbar.nix index 1c74c8b..e3e81db 100644 --- a/nixos95/taskbar.nix +++ b/nixos95/taskbar.nix @@ -3,28 +3,211 @@ * This can be improved by allowing users to define there own task bar config */ { config, lib, pkgs, ... }: let - cfg = config.nixos95; -in lib.mkIf cfg.enable { + cfg = config.nixos95.taskbar; + user = config.nixos95.user; + t = lib.types; +in { - environment.systemPackages = [ - pkgs.xfce.xfce4-whiskermenu-plugin - ]; + options.nixos95.taskbar = { - home-manager.users.${cfg.user} = { - - xdg.configFile = { - "xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml" = { - force = true; - source = ./dotfiles/xfce4-panel.xml; + homeIcon = lib.mkOption { + description = '' + Home icon used in the lefter corner of the taskbar + + Can be either a `path` to an icon to use, + or the name (string) of an icon in the current theme. + This will be the `Win95_plus` theme by default. + You can check for existing icons inside `/Ressources/Icons/Win95_plus`. + ''; + default = "whisker-menu-button"; + type = t.either t.str t.path; + example = "world"; + }; + + battery-plugin = { + enable = lib.mkOption { + description = '' + Enable the battery plugin in the taskbar. + + This will show the charging status in the right corner. + On hover it will show the excat percentage. + ''; + default = true; + example = false; + type = t.bool; }; + }; - # Panel: - "xfce4/panel/launcher-13/brave.desktop".source = ./dotfiles/launcher-13/brave.desktop; - "xfce4/panel/launcher-14/signal.desktop".source = ./dotfiles/launcher-14/signal.desktop; - "xfce4/panel/launcher-15/obsidian.desktop".source = ./dotfiles/launcher-15/obsidian.desktop; - "xfce4/panel/launcher-16/spotify.desktop".source = ./dotfiles/launcher-16/spotify.desktop; + applications = lib.mkOption { + description = '' + (in order) list of applications to pin in the taskbar. + + Applications must be defined as a set each with the following name-value paris: + { + enable = bool; [optional; default = true] + name = string; [application name shown on hover; optional] + description = string; [text shown on hover; optional] + icon = string | path; [icon shown in the task bar] + terminal = bool; [start the program inside a terminal; optional; default = false] + [either pkg or exe must be defined] + pkg = package; [use mainProgramm of a nix package; e.g. pkgs.firefox] + exe = string; [provide a program name directly; e.g. firefox] + } + + The `icon` can be specified as an icon name (in the current Iocn pack) + or as a `path` to an image directly. + See `/Ressources/Icons/Win95_plus` for the default icons. + + ''; + default = [ + { + name = "Files"; + description = "View and manage local files"; + icon = "folder_open"; + exe = "exo-open --launch FileManager"; + } + { + name = "Terminal"; + description = "Run commands"; + icon = "xfce4-terminal"; + pkg = pkgs.xfce.xfce4-terminal; + } + { + name = "Browser"; + description = "Access the world wide web"; + icon = "firefox"; + exe = "exo-open --launch WebBrowser"; + } + ]; + type = t.listOf t.attrs; }; }; + config = lib.mkIf config.nixos95.enable { + + environment.systemPackages = [ + pkgs.xfce.xfce4-whiskermenu-plugin + (lib.mkIf cfg.battery-plugin.enable pkgs.xfce.xfce4-battery-plugin) + ]; + + home-manager.users.${user} = { + + xdg.configFile = { + + "xfce4/panel/battery-7.rc" = { + force = true; + enable = cfg.battery-plugin.enable; + source = ./dotfiles/battery.rc; + }; + + "xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml" = let + + ifBattery = str : if cfg.battery-plugin.enable then str else ""; + battery_id = ifBattery '' ''; + battery_xml = ifBattery '' ''; + + applications_cfg = cfg.applications + |> lib.filter ( elm : !( lib.hasAttr "enable" elm) || elm.enable ) + |> lib.imap0 ( ptr : elm : rec { + # we start IDs in the 20 range to not get confilics with other plugins + plugin_id = "2" + builtins.toString ptr; + plugin_desktop = let + desc = if elm ? description then elm.description else ""; + term = if elm ? term && elm.term then "true" else "false"; + exec = if elm ? pkg then lib.getExe elm.pkg else elm.exe; + in pkgs.writeTextFile { + name = "${elm.name}.desktop"; + text = '' + [Desktop Entry] + Version=1.0 + Type=Application + Name=${elm.name} + Icon=${elm.icon} + Exec=${exec} + Comment=${desc} + Terminal=${term} + ''; + }; + plugin_xml = '' + + + + + + + ''; + }); + + app_ids = applications_cfg + |> lib.map ( elm : '' '' ) + |> lib.concatStringsSep "\n"; + app_xml = applications_cfg + |> lib.map ( elm : elm.plugin_xml ) + |> lib.concatStringsSep "\n"; + + in { + force = true; + text = '' + + + + + + + + + + + + + + + ${app_ids} + + + + + ${battery_id} + + + + + + + + + + + + ${app_xml} + + + + + + + + + + + + + + + + + + + ${battery_xml} + + + ''; + }; + + }; + + }; + }; + } -- 2.51.2 From ed87c8bd4697392b10d3df332ceee8a2796bee50 Mon Sep 17 00:00:00 2001 From: gytic <149968794+gytic@users.noreply.github.com> Date: Sun, 27 Jul 2025 01:29:16 +0200 Subject: [PATCH 3/9] config: migrate to new config options 1. enable pipe-operators 2. reapply the correct taskbar applications 3. disable battery plugin --- .../Hosts/Default/configuration.nix | 31 +++++++++++++++++++ Modules/System/common.nix | 2 +- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/Configurations/Hosts/Default/configuration.nix b/Configurations/Hosts/Default/configuration.nix index 197a190..733ce59 100644 --- a/Configurations/Hosts/Default/configuration.nix +++ b/Configurations/Hosts/Default/configuration.nix @@ -34,6 +34,37 @@ in { nixos95 = { enable = true; user = username; + + taskbar = { + homeIcon = "whisker-menu-button"; + battery-plugin.enable = false; + applications = [ + { + name = "Brave"; + description = "Browse the Web"; + pkg = pkgs.brave; + icon = "world"; + } + { + name = "Signal"; + description = "Private Messenger"; + pkg = pkgs.signal-desktop; + icon = "signal"; + } + { + name = "Obsidian"; + description = "Markdown Editor"; + exe = "obsidian %u"; + icon = "obsidian"; + } + { + name = "Spotify"; + description = "Spotify Music"; + exe = "spotify %U"; + icon = "spotify"; + } + ]; + }; }; ################################################################ diff --git a/Modules/System/common.nix b/Modules/System/common.nix index dde1865..c5c7661 100644 --- a/Modules/System/common.nix +++ b/Modules/System/common.nix @@ -39,7 +39,7 @@ LC_TIME = "de_DE.UTF-8"; }; - nix.settings.experimental-features = ["nix-command" "flakes"]; + nix.settings.experimental-features = ["nix-command" "flakes" "pipe-operators"]; nixpkgs.config.allowUnfree = true; console.keyMap = "de"; -- 2.51.2 From e4ffbff315bf7014e25dad658fb5c0a10abdc148 Mon Sep 17 00:00:00 2001 From: gytic <149968794+gytic@users.noreply.github.com> Date: Sun, 27 Jul 2025 01:34:48 +0200 Subject: [PATCH 4/9] docs: add section about experimental features --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index e6f3eda..88e033f 100644 --- a/README.md +++ b/README.md @@ -100,6 +100,13 @@ Some have been lightly edited. Originals were created by [aconfuseddragon](https home-manager switch ``` +### Experimental Features + +NixOS-95 relys on multiple experimental nix features. These are: +1. [flakes](https://wiki.nixos.org/wiki/Flakes) +2. [pipe-operators](https://nix.dev/manual/nix/2.26/language/operators#pipe-operators) +They are needed to activate the configuration. + ### Rebuild Notes Due to how **Home Manager** and XFCE handle theming, changes may not fully apply on the first attempt. -- 2.51.2 From bd2af79f22fe75c98ac3ee8a77fd9aa8ac53cd9f Mon Sep 17 00:00:00 2001 From: gytic <149968794+gytic@users.noreply.github.com> Date: Mon, 28 Jul 2025 11:12:30 +0200 Subject: [PATCH 5/9] docs: showcase how to enable experimental features --- README.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 88e033f..e28565c 100644 --- a/README.md +++ b/README.md @@ -91,7 +91,9 @@ Some have been lightly edited. Originals were created by [aconfuseddragon](https 3. **Build and switch to the system configuration**: ```bash - sudo nixos-rebuild switch --flake .#default + sudo nixos-rebuild switch --flake .#default \ + --extra-experimental-features flakes \ + --extra-experimental-features pipe-operators ``` 4. **Apply user settings with Home Manager**: @@ -107,6 +109,13 @@ NixOS-95 relys on multiple experimental nix features. These are: 2. [pipe-operators](https://nix.dev/manual/nix/2.26/language/operators#pipe-operators) They are needed to activate the configuration. +To enable them in your config set: +```nix +nix.settings.experimental-features = [ + "flakes" "pipe-operators" +]; +``` + ### Rebuild Notes Due to how **Home Manager** and XFCE handle theming, changes may not fully apply on the first attempt. -- 2.51.2 From d5458a9fcf1f42265ceabf1db33b994a514b4784 Mon Sep 17 00:00:00 2001 From: gytic <149968794+gytic@users.noreply.github.com> Date: Mon, 28 Jul 2025 15:24:12 +0200 Subject: [PATCH 6/9] feat(keybinds): add options to specify keybinds this adds two new options: nixos95.keybinds.commands -> specify normal shortcuts nixos95.keybinds.xfwm4 -> specify xfwm4 related shortcuts --- nixos95/dotfiles/xfce4-keyboard-shortcuts.xml | 197 ------------------ nixos95/keybinds.nix | 109 +++++++++- nixos95/taskbar.nix | 5 +- nixos95/util/lib.nix | 6 + 4 files changed, 110 insertions(+), 207 deletions(-) delete mode 100644 nixos95/dotfiles/xfce4-keyboard-shortcuts.xml create mode 100644 nixos95/util/lib.nix diff --git a/nixos95/dotfiles/xfce4-keyboard-shortcuts.xml b/nixos95/dotfiles/xfce4-keyboard-shortcuts.xml deleted file mode 100644 index f5582e2..0000000 --- a/nixos95/dotfiles/xfce4-keyboard-shortcuts.xml +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/nixos95/keybinds.nix b/nixos95/keybinds.nix index 06b92ed..0ae9207 100644 --- a/nixos95/keybinds.nix +++ b/nixos95/keybinds.nix @@ -2,17 +2,110 @@ * For now this just hard copies the config file. * This can be improved by allowing users to define there own keybinds */ -{ config, lib, ... }: let - cfg = config.nixos95; -in lib.mkIf cfg.enable { +{ config, lib, pkgs, ... }: let + cfg = config.nixos95.keybinds; + t = lib.types; + slib = pkgs.callPackage ./util/lib.nix { }; +in { - home-manager.users.${cfg.user} = { + options.nixos95.keybinds = { + commands = lib.mkOption { + description = '' + Keyboard shortcuts that should be made available. - xdg.configFile = { - "xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml" = { - force = true; - source = ./dotfiles/xfce4-keyboard-shortcuts.xml; + Each keyboard shortcut is defined as a set with the follwoing schema: + { + enable = bool; [optional; default = true] + key = string; [key sequence to triggger the command] + # to specify which command to execute use on of the following: + pkg = package; [use mainProgramm of a nix package; e.g. pkgs.firefox] + exe = string; [provide a program name directly; e.g. firefox] + } + + > Modifier keys must be surrounded by angle brackets + ''; + type = t.listOf t.attrs; + default = [ + { + key = "r"; + exe = "xfce4-appfinder --collapsed"; + } + { + key = "XF86WWW"; + exe = "exo-open --launch WebBrowser"; + } + { + key = "XF86Mail"; + exe = "exo-open --launch MailReder"; + } + { + key = "Print"; + exe = "xfce4-screenshooter"; + } + ]; + }; + xfwm4 = lib.mkOption { + description = '' + Keyboard shortcuts to control xfwm4 + + Each keyboard shortcut is defined as a set with the follwoing schema: + { + enable = bool; [optional; default = true] + key = string; [key sequence to triggger the command] + # to specify which command to execute use on of the following: + pkg = package; [use mainProgramm of a nix package; e.g. pkgs.firefox] + exe = string; [provide a program name directly; e.g. firefox] + } + + > Modifier keys must be surrounded by angle brackets + ''; + type = t.listOf t.attrs; + default = [ ]; + }; + }; + + config = lib.mkIf config.nixos95.enable { + + home-manager.users.${config.nixos95.user} = { + + xdg.configFile = let + to_xml = list : list + |> lib.filter slib.isEnable + |> lib.map ( elm : let + key = lib.escapeXML elm.key; + exe = lib.escapeXML (slib.getExe elm); + in '' '') + |> lib.concatStringsSep "\n"; + commands_xml = to_xml cfg.commands; + xfwm4_xml = to_xml cfg.xfwm4; + in { + "xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml" = { + force = true; + text = '' + + + + + + + ${commands_xml} + + + + + + ${xfwm4_xml} + + + + + + + + ''; + }; }; + }; }; diff --git a/nixos95/taskbar.nix b/nixos95/taskbar.nix index e3e81db..7fad763 100644 --- a/nixos95/taskbar.nix +++ b/nixos95/taskbar.nix @@ -6,6 +6,7 @@ cfg = config.nixos95.taskbar; user = config.nixos95.user; t = lib.types; + slib = pkgs.callPackage ./util/lib.nix { }; in { options.nixos95.taskbar = { @@ -108,14 +109,14 @@ in { battery_xml = ifBattery '' ''; applications_cfg = cfg.applications - |> lib.filter ( elm : !( lib.hasAttr "enable" elm) || elm.enable ) + |> lib.filter slib.isEnable |> lib.imap0 ( ptr : elm : rec { # we start IDs in the 20 range to not get confilics with other plugins plugin_id = "2" + builtins.toString ptr; plugin_desktop = let desc = if elm ? description then elm.description else ""; term = if elm ? term && elm.term then "true" else "false"; - exec = if elm ? pkg then lib.getExe elm.pkg else elm.exe; + exec = slib.getExe elm; in pkgs.writeTextFile { name = "${elm.name}.desktop"; text = '' diff --git a/nixos95/util/lib.nix b/nixos95/util/lib.nix new file mode 100644 index 0000000..b84463e --- /dev/null +++ b/nixos95/util/lib.nix @@ -0,0 +1,6 @@ +{ lib, ... }: { + # return true if elm.enable is not set or elm.enable is true + isEnable = elm : !( lib.hasAttr "enable" elm ) || elm.enable; + # return executable path from elm.pkg if defined or elm.exe + getExe = elm : if elm ? pkg then lib.getExe elm.pkg else elm.exe; +} -- 2.51.2 From 7134bd487062fd06dbf0f1df7649c8cc71fa646b Mon Sep 17 00:00:00 2001 From: gytic <149968794+gytic@users.noreply.github.com> Date: Mon, 28 Jul 2025 15:24:46 +0200 Subject: [PATCH 7/9] chore(config): port keyboard shortcuts --- .../Hosts/Default/configuration.nix | 89 +++++++++++++++++++ 1 file changed, 89 insertions(+) diff --git a/Configurations/Hosts/Default/configuration.nix b/Configurations/Hosts/Default/configuration.nix index 733ce59..5cddc4d 100644 --- a/Configurations/Hosts/Default/configuration.nix +++ b/Configurations/Hosts/Default/configuration.nix @@ -65,6 +65,95 @@ in { } ]; }; + + keybinds = { + commands = [ + { key="F2"; exe="xfce4-appfinder --collapsed"; } + { key="r"; exe="xfce4-appfinedr --collapsed"; } + { key="Print"; exe="xfce4-screenshooter --window"; } + { key="XF86WWW"; exe="exo-open --launch WebBrowser"; } + { key="XF86Mail"; exe="exo-open --launch MailReader"; } + { key="F3"; exe="xfce4-appfinder" ; } + { key="Print"; exe="xfce4-screenshooter"; } + { key="Escape"; exe="xfdesktop --menu"; } + { key="Print"; exe="xfce4-screenshooter -r"; } + { key="Delete"; exe="xfce4-session-logout"; } + { key="s"; exe="orca"; } + { key="t"; exe="exo-open --launch TerminalEmulator"; } + { key="f"; exe="thunar"; } + { key="l"; exe="xflock4"; } + { key="l"; exe="xflock4"; } + { key="F1"; exe="xfce4-popup-applicationsmenu"; } + { key="p"; exe="xfce4-display-settings --minimal"; } + { key="Escape"; exe="xfce4-taskmanager"; } + { key="e"; exe="thunar"; } + { key="Escape"; exe="xkill"; } + { key="HomePage"; exe="exo-open --launch WebBrowser"; } + { key="XF86Display"; exe="xfce4-display-settings --minimal"; } + ]; + xfwm4 = [ + { key="F12"; exe="workspace_12_key"; } + { key="KP_Down"; exe="tile_down_key"; } + { key="F4"; exe="close_window_key"; } + { key="KP_3"; exe="move_window_workspace_3_key"; } + { key="F2"; exe="workspace_2_key"; } + { key="F6"; exe="workspace_6_key"; } + { key="Down"; exe="down_workspace_key"; } + { key="KP_9"; exe="move_window_workspace_9_key"; } + { key="KP_Up"; exe="tile_up_key"; } + { key="End"; exe="move_window_next_workspace_key"; } + { key="F8"; exe="workspace_8_key"; } + { key="Left"; exe="move_window_left_key"; } + { key="KP_Right"; exe="tile_right_key"; } + { key="KP_4"; exe="move_window_workspace_4_key"; } + { key="Right"; exe="right_key"; } + { key="Down"; exe="down_key"; } + { key="F3"; exe="workspace_3_key"; } + { key="Page_Down"; exe="lower_window_key"; } + { key="F9"; exe="workspace_9_key"; } + { key="Tab"; exe="cycle_windows_key"; } + { key="Right"; exe="move_window_right_key"; } + { key="Right"; exe="right_workspace_key"; } + { key="F6"; exe="stick_window_key"; } + { key="KP_5"; exe="move_window_workspace_5_key"; } + { key="F11"; exe="workspace_11_key"; } + { key="F10"; exe="maximize_window_key"; } + { key="Delete"; exe="del_workspace_key"; } + { key="Tab"; exe="switch_window_key"; } + { key="d"; exe="show_desktop_key"; } + { key="F4"; exe="workspace_4_key"; } + { key="KP_Page_Up"; exe="tile_up_right_key"; } + { key="F7"; exe="move_window_key"; } + { key="Up"; exe="up_key"; } + { key="KP_6"; exe="move_window_workspace_6_key"; } + { key="F11"; exe="fullscreen_key"; } + { key="space"; exe="popup_menu_key"; } + { key="KP_Home"; exe="tile_up_left_key"; } + { key="Escape"; exe="cancel_key"; } + { key="KP_1"; exe="move_window_workspace_1_key"; } + { key="KP_Next"; exe="tile_down_right_key"; } + { key="KP_Left"; exe="tile_left_key"; } + { key="Page_Up"; exe="raise_window_key"; } + { key="Home"; exe="move_window_prev_workspace_key"; } + { key="Tab"; exe="cycle_reverse_windows_key"; } + { key="Left"; exe="left_workspace_key"; } + { key="F12"; exe="above_key"; } + { key="Up"; exe="move_window_up_key"; } + { key="F5"; exe="workspace_5_key"; } + { key="F8"; exe="resize_window_key"; } + { key="KP_7"; exe="move_window_workspace_7_key"; } + { key="KP_2"; exe="move_window_workspace_2_key"; } + { key="KP_End"; exe="tile_down_left_key"; } + { key="Up"; exe="up_workspace_key"; } + { key="F9"; exe="hide_window_key"; } + { key="F7"; exe="workspace_7_key"; } + { key="F10"; exe="workspace_10_key"; } + { key="Left"; exe="left_key"; } + { key="KP_8"; exe="move_window_workspace_8_key"; } + { key="Insert"; exe="add_workspace_key"; } + { key="F1"; exe="workspace_1_key"; } + ]; + }; }; ################################################################ -- 2.51.2 From c6e68bac0a5258f5eceb7cc7ebb30a94023fe8ae Mon Sep 17 00:00:00 2001 From: gytic <149968794+gytic@users.noreply.github.com> Date: Mon, 28 Jul 2025 18:32:01 +0200 Subject: [PATCH 8/9] chore(config): port only necessary keybinds --- .../Hosts/Default/configuration.nix | 83 ------------------- 1 file changed, 83 deletions(-) diff --git a/Configurations/Hosts/Default/configuration.nix b/Configurations/Hosts/Default/configuration.nix index 5cddc4d..a7de2f6 100644 --- a/Configurations/Hosts/Default/configuration.nix +++ b/Configurations/Hosts/Default/configuration.nix @@ -68,90 +68,7 @@ in { keybinds = { commands = [ - { key="F2"; exe="xfce4-appfinder --collapsed"; } - { key="r"; exe="xfce4-appfinedr --collapsed"; } - { key="Print"; exe="xfce4-screenshooter --window"; } - { key="XF86WWW"; exe="exo-open --launch WebBrowser"; } - { key="XF86Mail"; exe="exo-open --launch MailReader"; } - { key="F3"; exe="xfce4-appfinder" ; } - { key="Print"; exe="xfce4-screenshooter"; } - { key="Escape"; exe="xfdesktop --menu"; } - { key="Print"; exe="xfce4-screenshooter -r"; } - { key="Delete"; exe="xfce4-session-logout"; } - { key="s"; exe="orca"; } - { key="t"; exe="exo-open --launch TerminalEmulator"; } - { key="f"; exe="thunar"; } - { key="l"; exe="xflock4"; } { key="l"; exe="xflock4"; } - { key="F1"; exe="xfce4-popup-applicationsmenu"; } - { key="p"; exe="xfce4-display-settings --minimal"; } - { key="Escape"; exe="xfce4-taskmanager"; } - { key="e"; exe="thunar"; } - { key="Escape"; exe="xkill"; } - { key="HomePage"; exe="exo-open --launch WebBrowser"; } - { key="XF86Display"; exe="xfce4-display-settings --minimal"; } - ]; - xfwm4 = [ - { key="F12"; exe="workspace_12_key"; } - { key="KP_Down"; exe="tile_down_key"; } - { key="F4"; exe="close_window_key"; } - { key="KP_3"; exe="move_window_workspace_3_key"; } - { key="F2"; exe="workspace_2_key"; } - { key="F6"; exe="workspace_6_key"; } - { key="Down"; exe="down_workspace_key"; } - { key="KP_9"; exe="move_window_workspace_9_key"; } - { key="KP_Up"; exe="tile_up_key"; } - { key="End"; exe="move_window_next_workspace_key"; } - { key="F8"; exe="workspace_8_key"; } - { key="Left"; exe="move_window_left_key"; } - { key="KP_Right"; exe="tile_right_key"; } - { key="KP_4"; exe="move_window_workspace_4_key"; } - { key="Right"; exe="right_key"; } - { key="Down"; exe="down_key"; } - { key="F3"; exe="workspace_3_key"; } - { key="Page_Down"; exe="lower_window_key"; } - { key="F9"; exe="workspace_9_key"; } - { key="Tab"; exe="cycle_windows_key"; } - { key="Right"; exe="move_window_right_key"; } - { key="Right"; exe="right_workspace_key"; } - { key="F6"; exe="stick_window_key"; } - { key="KP_5"; exe="move_window_workspace_5_key"; } - { key="F11"; exe="workspace_11_key"; } - { key="F10"; exe="maximize_window_key"; } - { key="Delete"; exe="del_workspace_key"; } - { key="Tab"; exe="switch_window_key"; } - { key="d"; exe="show_desktop_key"; } - { key="F4"; exe="workspace_4_key"; } - { key="KP_Page_Up"; exe="tile_up_right_key"; } - { key="F7"; exe="move_window_key"; } - { key="Up"; exe="up_key"; } - { key="KP_6"; exe="move_window_workspace_6_key"; } - { key="F11"; exe="fullscreen_key"; } - { key="space"; exe="popup_menu_key"; } - { key="KP_Home"; exe="tile_up_left_key"; } - { key="Escape"; exe="cancel_key"; } - { key="KP_1"; exe="move_window_workspace_1_key"; } - { key="KP_Next"; exe="tile_down_right_key"; } - { key="KP_Left"; exe="tile_left_key"; } - { key="Page_Up"; exe="raise_window_key"; } - { key="Home"; exe="move_window_prev_workspace_key"; } - { key="Tab"; exe="cycle_reverse_windows_key"; } - { key="Left"; exe="left_workspace_key"; } - { key="F12"; exe="above_key"; } - { key="Up"; exe="move_window_up_key"; } - { key="F5"; exe="workspace_5_key"; } - { key="F8"; exe="resize_window_key"; } - { key="KP_7"; exe="move_window_workspace_7_key"; } - { key="KP_2"; exe="move_window_workspace_2_key"; } - { key="KP_End"; exe="tile_down_left_key"; } - { key="Up"; exe="up_workspace_key"; } - { key="F9"; exe="hide_window_key"; } - { key="F7"; exe="workspace_7_key"; } - { key="F10"; exe="workspace_10_key"; } - { key="Left"; exe="left_key"; } - { key="KP_8"; exe="move_window_workspace_8_key"; } - { key="Insert"; exe="add_workspace_key"; } - { key="F1"; exe="workspace_1_key"; } ]; }; }; -- 2.51.2 From 084dd141f7e261266014734ebebebe9f3613a375 Mon Sep 17 00:00:00 2001 From: gytic <149968794+gytic@users.noreply.github.com> Date: Mon, 28 Jul 2025 18:44:31 +0200 Subject: [PATCH 9/9] fix(dotfiles): remove unused dotfiles --- nixos95/dotfiles/xfce4-sessions.xml | 6 -- nixos95/dotfiles/xfwm4.xml | 91 ----------------------------- nixos95/dotfiles/xsettings.xml | 45 -------------- 3 files changed, 142 deletions(-) delete mode 100644 nixos95/dotfiles/xfce4-sessions.xml delete mode 100644 nixos95/dotfiles/xfwm4.xml delete mode 100644 nixos95/dotfiles/xsettings.xml diff --git a/nixos95/dotfiles/xfce4-sessions.xml b/nixos95/dotfiles/xfce4-sessions.xml deleted file mode 100644 index 6ac9b5b..0000000 --- a/nixos95/dotfiles/xfce4-sessions.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/nixos95/dotfiles/xfwm4.xml b/nixos95/dotfiles/xfwm4.xml deleted file mode 100644 index 25adfc6..0000000 --- a/nixos95/dotfiles/xfwm4.xml +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/nixos95/dotfiles/xsettings.xml b/nixos95/dotfiles/xsettings.xml deleted file mode 100644 index c79abe1..0000000 --- a/nixos95/dotfiles/xsettings.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- 2.51.2