dotfiles

My PC Dotfiles & Website
commit c5a8c3dcd96016d59532a5bcf37e47a54a786aa7
parent 077ea5deb3717c5e132c0116e67af6737088bb84
Author: maydayv7 <maydayv7@gmail.com>
Date:   Sun, 24 Sep 2023 19:46:42 +0530

fix: Update XFCE Configuration

Also add some screenshots

Diffstat:

MREADME.md | 19+++++++++++++++----
Mfiles/default.nix | 1+
Mfiles/discord/theme.css | 2+-
Dfiles/images/desktop.png | 0
Afiles/images/desktop/gnome.png | 0
Afiles/images/desktop/xfce.png | 0
Mfiles/xfce/gtk.css | 2+-
Afiles/xfce/panel/whiskermenu-15.rc | 49+++++++++++++++++++++++++++++++++++++++++++++++++
Mfiles/xfce/settings/xfce4-notifyd.xml | 1+
Mfiles/xfce/settings/xfce4-panel.xml | 21+++++++++++++++------
Mmodules/gui/xfce.nix | 100++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------
11 files changed, 146 insertions(+), 49 deletions(-)

diff --git a/README.md b/README.md @@ -1,11 +1,22 @@ -![Logo](./files/images/logo/dark.png#gh-dark-mode-only) -![Logo](./files/images/logo/light.png#gh-light-mode-only) +<picture> + <source + srcset="~/files/images/logo/light.png" + media="(prefers-color-scheme: light)" + /> + <source + srcset="~/files/images/logo/dark.png" + media="(prefers-color-scheme: dark), (prefers-color-scheme: no-preference)" + /> + <img src="" /> +</picture> ![Version](https://img.shields.io/github/v/release/maydayv7/dotfiles?include_prereleases&label=version&style=flat-square&logo=github) ![License](https://img.shields.io/github/license/maydayv7/dotfiles?color=dgreen&style=flat-square) ![Size](https://img.shields.io/github/repo-size/maydayv7/dotfiles?color=red&label=size&style=flat-square) [![NixOS](https://img.shields.io/badge/NixOS-v23.05-9cf.svg?style=flat-square&logo=NixOS&logoColor=white)](https://nixos.org) This [repository](https://github.com/maydayv7/dotfiles) contains the configuration and `dotfiles` for my continuously evolving multi-PC setup (using [Nix](https://nixos.org/)). All the devices I own, controlled by code. It also builds and deploys my website to [maydayv7.tk](https://maydayv7.tk). You can follow along with my [NixOS Desktop](https://maydayv7.tk/series/nixos-desktop/) Series -[![Desktop](./files/images/desktop.png)](https://www.reddit.com/r/unixporn/comments/ssb7mf/gnome_my_dream/) +[![GNOME Desktop](./files/images/desktop/gnome.png)](https://www.reddit.com/r/unixporn/comments/ssb7mf/gnome_my_dream/) + +![XFCE Desktop](./files/images/desktop/xfce.png) ## Features @@ -427,7 +438,7 @@ You can navigate to the `README`'s present in the various directories to know mo - Support Android Virtualisation using Waydroid - Drop `compat` Libraries - Refactor GNOME Experience -- Improve XFCE Configuration Handling +- Improve XFCE Configuration and Handling - Improve Automatic Package Update Script - Enable ZFS encryption diff --git a/files/default.nix b/files/default.nix @@ -89,6 +89,7 @@ in rec { # XFCE Desktop xfce = { css = readFile ./xfce/gtk.css; + panel = ./xfce/panel; terminal = readFile ./xfce/terminalrc; settings = map.files ./xfce/settings diff --git a/files/discord/theme.css b/files/discord/theme.css @@ -1 +1 @@ -@import "https://raw.githack.com/GeopJr/DNOME/main/dist/DNOME.css"; +@import "https://raw.githack.com/GeopJr/DNOME/dist/DNOME.css"; diff --git a/files/images/desktop.png b/files/images/desktop.png Binary files differ. diff --git a/files/images/desktop/gnome.png b/files/images/desktop/gnome.png Binary files differ. diff --git a/files/images/desktop/xfce.png b/files/images/desktop/xfce.png Binary files differ. diff --git a/files/xfce/gtk.css b/files/xfce/gtk.css @@ -1,4 +1,4 @@ -.xfce4-panel { +.xfce4-panel#XfcePanelWindow { border-top-left-radius: 15px; border-top-right-radius: 15px; border-bottom-left-radius: 15px; diff --git a/files/xfce/panel/whiskermenu-15.rc b/files/xfce/panel/whiskermenu-15.rc @@ -0,0 +1,49 @@ +favorites=xfce4-web-browser.desktop,xfce4-mail-reader.desktop,xfce4-file-manager.desktop,xfce4-terminal-emulator.desktop +button-icon=start-here +button-single-row=false +show-button-title=false +show-button-icon=true +launcher-show-name=true +launcher-show-description=true +launcher-show-tooltip=true +launcher-icon-size=3 +hover-switch-category=true +category-show-name=true +category-icon-size=1 +sort-categories=true +view-mode=1 +default-category=0 +recent-items-max=10 +favorites-in-recent=true +position-search-alternate=false +position-commands-alternate=false +position-categories-alternate=false +position-categories-horizontal=false +stay-on-focus-out=false +profile-shape=0 +confirm-session-command=true +menu-width=858 +menu-height=569 +menu-opacity=90 +command-settings=xfce4-settings-manager +show-command-settings=true +command-lockscreen=xflock4 +show-command-lockscreen=true +command-switchuser=dm-tool switch-to-greeter +show-command-switchuser=false +command-logoutuser=xfce4-session-logout --logout --fast +show-command-logoutuser=false +command-restart=xfce4-session-logout --reboot --fast +show-command-restart=false +command-shutdown=xfce4-session-logout --halt --fast +show-command-shutdown=false +command-suspend=xfce4-session-logout --suspend +show-command-suspend=false +command-hibernate=xfce4-session-logout --hibernate +show-command-hibernate=false +command-logout=xfce4-session-logout +show-command-logout=true +command-menueditor=menulibre +show-command-menueditor=true +command-profile=mugshot +show-command-profile=true diff --git a/files/xfce/settings/xfce4-notifyd.xml b/files/xfce/settings/xfce4-notifyd.xml @@ -16,4 +16,5 @@ <property name="log-level-apps" type="uint" value="0"/> <property name="do-fadeout" type="bool" value="true"/> <property name="do-slideout" type="bool" value="true"/> + <property name="log-max-size-enabled" type="bool" value="true"/> </channel> diff --git a/files/xfce/settings/xfce4-panel.xml b/files/xfce/settings/xfce4-panel.xml @@ -9,13 +9,12 @@ <property name="autohide-behavior" type="uint" value="1"/> <property name="background-alpha" type="uint" value="80"/> <property name="background-rgba" type="array"> - <value type="double" value="1.000000"/> - <value type="double" value="1.000000"/> - <value type="double" value="1.000000"/> + <value type="double" value="1"/> + <value type="double" value="1"/> + <value type="double" value="1"/> <value type="double" value="0.477966"/> </property> <property name="background-style" type="uint" value="0"/> - <property name="disable-struts" type="bool" value="false"/> <property name="enter-opacity" type="uint" value="100"/> <property name="icon-size" type="uint" value="0"/> <property name="leave-opacity" type="uint" value="95"/> @@ -27,9 +26,10 @@ <value type="int" value="1"/> <value type="int" value="15"/> <value type="int" value="22"/> + <value type="int" value="12"/> + <value type="int" value="16"/> <value type="int" value="18"/> <value type="int" value="3"/> - <value type="int" value="16"/> <value type="int" value="4"/> <value type="int" value="19"/> <value type="int" value="17"/> @@ -49,6 +49,7 @@ <property name="position-locked" type="bool" value="true"/> <property name="size" type="uint" value="27"/> <property name="span-monitors" type="bool" value="false"/> + <property name="enable-struts" type="bool" value="true"/> </property> </property> <property name="plugins" type="empty"> @@ -113,6 +114,9 @@ <property name="size-max" type="uint" value="22"/> <property name="style" type="uint" value="0"/> <property name="tooltip-format" type="string" value="%A %d %B %Y"/> + <property name="digital-time-format" type="string" value="%a %I:%M %p"/> + <property name="digital-layout" type="uint" value="3"/> + <property name="digital-time-font" type="string" value="Sans 11"/> </property> <property name="plugin-9" type="string" value="separator"> <property name="expand" type="bool" value="false"/> @@ -155,7 +159,7 @@ </property> </property> <property name="plugin-22" type="string" value="separator"> - <property name="style" type="uint" value="0"/> + <property name="style" type="uint" value="2"/> </property> <property name="clipman" type="empty"> <property name="tweaks" type="empty"> @@ -163,5 +167,10 @@ <property name="popup-at-pointer" type="bool" value="true"/> </property> </property> + <property name="plugin-12" type="string" value="pager"/> + <property name="plugin-16" type="string" value="separator"> + <property name="style" type="uint" value="2"/> + <property name="expand" type="bool" value="false"/> + </property> </property> </channel> diff --git a/modules/gui/xfce.nix b/modules/gui/xfce.nix @@ -6,7 +6,9 @@ ... }: with files; let + inherit (builtins) elem; inherit (config.gui) desktop; + apps = config.environment.systemPackages; inherit (lib) mapAttrs' mkIf mkForce mkMerge nameValuePair util; # GTK+ Theme @@ -58,43 +60,6 @@ in { programs.gnupg.agent.pinentryFlavor = mkIf config.programs.gnupg.agent.enable "gtk2"; - # User Configuration - user.home = { - # GTK+ Theming - gtk = - { - enable = true; - gtk3.extraCss = xfce.css; - } - // theme; - - # Default Applications - xdg.mimeApps.defaultApplications = util.build.mime xdg.mime { - audio = ["org.xfce.Parole.desktop"]; - calendar = ["org.xfce.orage.desktop"]; - directory = ["thunar.desktop"]; - image = ["org.xfce.ristretto.desktop"]; - pdf = ["atril.desktop"]; - text = ["org.xfce.mousepad.desktop"]; - video = ["org.xfce.Parole.desktop"]; - }; - - home.file = - { - # GTK+ Bookmarks - ".config/gtk-3.0/bookmarks".text = gtk.bookmarks; - - # Plank Dock - ".config/autostart/Dock.desktop".text = plank.autostart; - ".config/plank/dock1/launchers".source = plank.launchers; - ".local/share/plank/themes/default/dock.theme".text = plank.theme; - - # Desktop Settings - ".config/xfce4/terminal/terminalrc".text = xfce.terminal; - } - // mapAttrs' (name: value: nameValuePair ".config/xfce4/xfconf/xfce-perchannel-xml/${name}.xml" {text = value;}) files.xfce.settings; - }; - # Plugins programs = { xfconf.enable = true; @@ -107,6 +72,7 @@ in { # Utilities environment.systemPackages = with pkgs.xfce // pkgs; [ + pavucontrol plank orage xarchiver @@ -134,6 +100,66 @@ in { ".cache/xfce4" ]; }; + + # User Configuration + user.home = { + # GTK+ Theming + gtk = + { + enable = true; + gtk3.extraCss = xfce.css; + } + // theme; + + # Default Applications + xdg.mimeApps.defaultApplications = util.build.mime xdg.mime { + audio = ["org.xfce.Parole.desktop"]; + calendar = ["org.xfce.orage.desktop"]; + directory = ["thunar.desktop"]; + image = ["org.xfce.ristretto.desktop"]; + pdf = ["atril.desktop"]; + text = ["org.xfce.mousepad.desktop"]; + video = ["org.xfce.Parole.desktop"]; + }; + + home.file = + { + # GTK+ Bookmarks + ".config/gtk-3.0/bookmarks".text = gtk.bookmarks; + + # Plank Dock + ".config/autostart/Dock.desktop".text = plank.autostart; + ".config/plank/dock1/launchers".source = plank.launchers; + ".local/share/plank/themes/default/dock.theme".text = plank.theme; + + # Desktop Settings + ".config/xfce4/terminal/terminalrc".text = xfce.terminal; + ".config/xfce4/panel" = { + source = xfce.panel; + recursive = true; + }; + } + // mapAttrs' (name: value: + nameValuePair ".config/xfce4/xfconf/xfce-perchannel-xml/${name}.xml" + {text = value;}) + files.xfce.settings; + + # Code Editor Settings + programs.vscode = mkIf (elem pkgs.vscode apps) { + extensions = pkgs.vscode-utils.extensionsFromVscodeMarketplace [ + { + name = "arc-dark"; + publisher = "alvesvaren"; + version = "0.4.0"; + sha256 = "sha256-DM4sY4NsQdlhF+sLLgYuCrNcdmUBRO5c458GpMhF5xg="; + } + ]; + userSettings = { + "workbench.colorTheme" = "Arc Dark Theme"; + "terminal.external.linuxExec" = "xfce4-terminal"; + }; + }; + }; }) # Minimal XFCE Desktop Configuration