Shared config working on desktop

This commit is contained in:
2025-11-15 13:08:34 +00:00
parent 0ba6844b6e
commit 7f467b9daf
13 changed files with 76 additions and 668 deletions
-161
View File
@@ -1,161 +0,0 @@
{
"currentThemeName": "dynamic",
"customThemeFile": "",
"matugenScheme": "scheme-fidelity",
"dankBarTransparency": 0,
"dankBarWidgetTransparency": 1,
"popupTransparency": 1,
"dockTransparency": 1,
"use24HourClock": true,
"useFahrenheit": false,
"nightModeEnabled": false,
"weatherLocation": "Dublin, Leinster",
"weatherCoordinates": "53.3493795,-6.2605593",
"useAutoLocation": false,
"weatherEnabled": true,
"showLauncherButton": true,
"showWorkspaceSwitcher": true,
"showFocusedWindow": true,
"showWeather": true,
"showMusic": true,
"showClipboard": true,
"showCpuUsage": true,
"showMemUsage": true,
"showCpuTemp": true,
"showGpuTemp": true,
"selectedGpuIndex": 0,
"enabledGpuPciIds": [],
"showSystemTray": true,
"showClock": true,
"showNotificationButton": true,
"showBattery": true,
"showControlCenterButton": true,
"controlCenterShowNetworkIcon": true,
"controlCenterShowBluetoothIcon": true,
"controlCenterShowAudioIcon": true,
"controlCenterWidgets": [
{
"id": "volumeSlider",
"enabled": true,
"width": 50
},
{
"id": "brightnessSlider",
"enabled": true,
"width": 50
},
{
"id": "wifi",
"enabled": true,
"width": 50
},
{
"id": "bluetooth",
"enabled": true,
"width": 50
},
{
"id": "audioOutput",
"enabled": true,
"width": 50
},
{
"id": "audioInput",
"enabled": true,
"width": 50
},
{
"id": "nightMode",
"enabled": true,
"width": 50
},
{
"id": "darkMode",
"enabled": true,
"width": 50
}
],
"showWorkspaceIndex": false,
"showWorkspacePadding": false,
"showWorkspaceApps": false,
"maxWorkspaceIcons": 3,
"workspacesPerMonitor": true,
"workspaceNameIcons": {},
"waveProgressEnabled": true,
"clockCompactMode": false,
"focusedWindowCompactMode": false,
"runningAppsCompactMode": true,
"runningAppsCurrentWorkspace": true,
"clockDateFormat": "",
"lockDateFormat": "",
"mediaSize": 1,
"dankBarLeftWidgets": [
"launcherButton",
"workspaceSwitcher",
"focusedWindow"
],
"dankBarCenterWidgets": [
"music",
"clock",
"weather"
],
"dankBarRightWidgets": [
"systemTray",
"clipboard",
"cpuUsage",
"memUsage",
"notificationButton",
"battery",
"controlCenterButton"
],
"appLauncherViewMode": "list",
"spotlightModalViewMode": "grid",
"networkPreference": "auto",
"iconTheme": "System Default",
"useOSLogo": false,
"osLogoColorOverride": "",
"osLogoBrightness": 0.5,
"osLogoContrast": 1,
"fontFamily": "FiraCode Nerd Font Med",
"monoFontFamily": "Fira Code",
"fontWeight": 400,
"fontScale": 1,
"notepadUseMonospace": true,
"notepadFontFamily": "",
"notepadFontSize": 14,
"notepadShowLineNumbers": true,
"notepadTransparencyOverride": -1,
"notepadLastCustomTransparency": 0.7,
"gtkThemingEnabled": false,
"qtThemingEnabled": false,
"showDock": false,
"dockAutoHide": false,
"dockGroupByApp": false,
"dockOpenOnOverview": false,
"dockPosition": 1,
"dockSpacing": 4,
"dockBottomGap": 0,
"cornerRadius": 10,
"notificationOverlayEnabled": false,
"dankBarAutoHide": false,
"dankBarOpenOnOverview": false,
"dankBarVisible": true,
"dankBarSpacing": 3,
"dankBarBottomGap": 0,
"dankBarInnerPadding": 4,
"dankBarSquareCorners": false,
"dankBarNoBackground": false,
"dankBarGothCornersEnabled": false,
"dankBarPosition": 0,
"lockScreenShowPowerActions": true,
"hideBrightnessSlider": false,
"widgetBackgroundColor": "sch",
"surfaceBase": "s",
"notificationTimeoutLow": 5000,
"notificationTimeoutNormal": 5000,
"notificationTimeoutCritical": 0,
"notificationPopupPosition": 0,
"screenPreferences": {},
"pluginSettings": {},
"animationSpeed": 2
}
+23 -9
View File
@@ -9,14 +9,13 @@
"popupTransparency": 1,
"dockTransparency": 1,
"widgetBackgroundColor": "sch",
"surfaceBase": "s",
"cornerRadius": 10,
"use24HourClock": true,
"showSeconds": false,
"useFahrenheit": false,
"nightModeEnabled": false,
"animationSpeed": 2,
"customAnimationDuration": 500,
"animationSpeed": 4,
"customAnimationDuration": 350,
"wallpaperFillMode": "Fill",
"blurredWallpaperLayer": false,
"blurWallpaperOnOverview": false,
@@ -75,9 +74,9 @@
"showWorkspaceIndex": false,
"showWorkspacePadding": false,
"workspaceScrolling": false,
"showWorkspaceApps": false,
"showWorkspaceApps": true,
"maxWorkspaceIcons": 3,
"workspacesPerMonitor": true,
"workspacesPerMonitor": false,
"dwlShowAllTags": false,
"workspaceNameIcons": {},
"waveProgressEnabled": true,
@@ -125,14 +124,14 @@
"networkPreference": "auto",
"vpnLastConnected": "",
"iconTheme": "System Default",
"launcherLogoMode": "apps",
"launcherLogoMode": "compositor",
"launcherLogoCustomPath": "",
"launcherLogoColorOverride": "",
"launcherLogoColorOverride": "surface",
"launcherLogoColorInvertOnMode": false,
"launcherLogoBrightness": 0.5,
"launcherLogoContrast": 1,
"launcherLogoSizeOffset": 0,
"fontFamily": "FiraCode Nerd Font Med",
"fontFamily": "DejaVu Serif Condensed",
"monoFontFamily": "Kelmscott Mono",
"fontWeight": 400,
"fontScale": 1,
@@ -157,6 +156,7 @@
"batterySuspendTimeout": 0,
"batterySuspendBehavior": 0,
"lockBeforeSuspend": true,
"preventIdleForMedia": true,
"loginctlLockIntegration": true,
"launchPrefix": "",
"brightnessDevicePins": {},
@@ -170,6 +170,7 @@
"dockPosition": 1,
"dockSpacing": 4,
"dockBottomGap": 0,
"dockMargin": 0,
"dockIconSize": 40,
"dockIndicatorStyle": "circle",
"notificationOverlayEnabled": false,
@@ -183,6 +184,8 @@
"dankBarSquareCorners": false,
"dankBarNoBackground": false,
"dankBarGothCornersEnabled": false,
"dankBarGothCornerRadiusOverride": false,
"dankBarGothCornerRadiusValue": 12,
"dankBarBorderEnabled": false,
"dankBarBorderColor": "surfaceText",
"dankBarBorderOpacity": 1,
@@ -200,6 +203,15 @@
"notificationPopupPosition": 0,
"osdAlwaysShowValue": false,
"powerActionConfirm": true,
"powerMenuActions": [
"reboot",
"logout",
"poweroff",
"lock",
"suspend",
"restart"
],
"powerMenuDefaultAction": "logout",
"customPowerActionLock": "",
"customPowerActionLogout": "",
"customPowerActionSuspend": "",
@@ -226,6 +238,8 @@
"DP-1"
]
},
"showOnLastDisplay": {},
"showOnLastDisplay": {
"dankBar": false
},
"configVersion": 1
}
+6 -7
View File
@@ -7,10 +7,9 @@
# Rule :: Workspace Monitor Linking
workspace = name:game, monitor:DP-1
workspace = name:browser, monitor:HDMI-A-1, default:true
workspace = name:chat, monitor:HDMI-A-1
workspace = name:video, monitor:DP-1
workspace = name:program, monitor:DP-1, default:true
workspace = name:extra, monitor:DP-1
workspace = $ws_game, monitor:DP-1
workspace = $ws_web, monitor:HDMI-A-1, default:true
workspace = $ws_chat, monitor:HDMI-A-1
workspace = $ws_video, monitor:DP-1
workspace = $ws_program, monitor:DP-1, default:true
workspace = $ws_extra, monitor:DP-1
+12 -12
View File
@@ -4,6 +4,18 @@ exec-once= fcitx5 -d
exec-once= emacs --daemon
exec-once= dms run # DankShell
# Workspace Variables
$ws_game = 1
$ws_shell = 2
$ws_web = 3
$ws_music = 4
$ws_image = 5
$ws_chat = 6
$ws_audio = 7
$ws_video = 8
$ws_program = 9
$ws_extra = 0
# Monitors
source = ./hypr-monitors.conf
@@ -112,18 +124,6 @@ misc {
# Window Rules
# Rule :: Window
$ws_game = 1
$ws_shell = 2
$ws_web = 3
$ws_music = 4
$ws_image = 5
$ws_chat = 6
$ws_audio = 7
$ws_video = 8
$ws_program = 9
$ws_extra = 0
$idleInhibFs = idleinhibit fullscreen
$idleInhibFo = idleinhibit focus
$ws = workspace
+1 -1
View File
@@ -15,7 +15,7 @@ in
../graphical/file.nix # import shared configs
];
# Symlink dotfiles
# Symlink per-host dotfiles
home.file = mkSymlinkAttrs {
".config/hypr/hypr-monitors.conf" = {
source = ../../configs/hypr-darp8/hypr-monitors.conf;
+2 -2
View File
@@ -8,11 +8,11 @@
../graphical/pkgs.nix #import shared packages
];
# BEGIN PACKAGES
# BEGIN PER-HOST PACKAGES
home.packages = with pkgs; [
];
# BEGIN PROGRAMS
# BEGIN PER-HOST PROGRAMS
programs = {
};
}
+15 -227
View File
@@ -3,108 +3,14 @@
{
imports = [
./hardware-configuration.nix
../graphical/configuration.nix
inputs.home-manager.nixosModules.default
];
boot = {
loader.systemd-boot.enable = true;
loader.efi.canTouchEfiVariables = true;
plymouth.enable = true;
};
networking = {
hostName = "lmdesktop";
networkmanager = {
enable = true;
wifi.backend = "iwd";
};
firewall = {
enable = true;
# Open ports in the firewall.
allowedTCPPorts = [ 21 22 80 443 4070 5037 ];
allowedUDPPorts = [ 4070 ];
allowedTCPPortRanges = [
{ from = 8000; to = 8010; }
];
allowPing = true;
};
wireless.iwd = {
enable = true;
settings = {
IPv6.Enabled = true;
Settings.Autoconnect = true;
};
};
};
networking.hostName = "lmdesktop";
time.timeZone = "Europe/Dublin";
i18n= {
defaultLocale = "en_US.UTF-8";
inputMethod = {
enable = true;
type = "fcitx5";
fcitx5 = {
waylandFrontend = true;
addons = with pkgs; [
fcitx5-mozc
fcitx5-gtk
qt6Packages.fcitx5-chinese-addons
];
};
};
};
services = {
avahi = {
enable = true;
nssmdns4 = true;
publish = {
enable = true;
userServices = true;
};
};
greetd = {
enable = true;
restart = true;
settings = {
default_session = {
command = "${pkgs.tuigreet}/bin/tuigreet --cmd Hyprland";
};
};
};
libinput.enable = true;
blueman.enable = true;
gvfs.enable = true;
auto-cpufreq.enable = true;
thermald.enable = true;
power-profiles-daemon.enable = false;
pulseaudio.enable = false;
upower.enable = true;
xserver.videoDrivers = [ "nvidia" ];
};
security.pam.services.hyprlock = {};
environment = {
etc = {
"greetd/environments".text = ''
Hyprland
river
'';
};
};
hardware = {
bluetooth.enable = true;
graphics = {
@@ -120,86 +26,24 @@
};
};
fonts = {
packages = with pkgs; [
noto-fonts
noto-fonts-cjk-sans
noto-fonts-cjk-serif
noto-fonts-color-emoji
liberation_ttf
fira-code-symbols
mplus-outline-fonts.githubRelease
dina-font
nerd-fonts.fira-code
nerd-fonts.droid-sans-mono
];
boot.kernelPackages = pkgs.linuxPackages_latest;
fontconfig = {
services = {
thermald.enable = true;
power-profiles-daemon.enable = false;
pulseaudio.enable = false;
upower.enable = true;
xserver.videoDrivers = [ "nvidia" ];
openssh = {
enable = true;
includeUserConf = true;
settings = {
PasswordAuthentication = false;
PermitRootLogin = "no";
};
};
};
nixpkgs.config.allowUnfree = true;
nix.settings = {
substituters = [ "https://hyprland.cachix.org" ];
trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ];
trusted-users = [ "root" "@wheel" ];
allowed-users = [ "root" "@wheel" ];
};
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 10d";
};
nix.optimise = {
automatic = true;
dates = [ "00:00" ];
};
users.users.liamm = {
isNormalUser = true;
description = "liamm";
extraGroups = [ "networkmanager" "wheel" "disk" "power" "video" "davfs2" "input" ];
};
programs = {
steam = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
};
hyprland = {
enable = true;
package = pkgs.hyprland;
portalPackage = pkgs.xdg-desktop-portal-hyprland;
xwayland.enable = true;
withUWSM = false;
plugins = [ ];
};
river-classic = {
enable = true;
xwayland.enable = true;
};
gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
hyprlock.enable = true;
dconf.enable = true;
nix-ld.enable = true;
mtr.enable = true;
};
lib.inputMethod.fcitx5.waylandFrontend = true;
home-manager = {
useGlobalPkgs = true;
extraSpecialArgs = { inherit inputs; inherit cfg; };
@@ -208,62 +52,6 @@
};
backupFileExtension = ".bak";
};
environment.systemPackages = with pkgs; [
bat
discord
fd
file
ghostty
glib
gnome-keyring
libdrm
libnotify
mesa
neovim
quickshell
ripgrep
spotify
unzip
usbutils
uxplay
vim
waypipe
wget
wl-clipboard
xdg-user-dirs
zip
];
zramSwap = {
enable = true;
algorithm = "zstd";
};
xdg = {
mime.enable = true;
portal = {
enable = true;
wlr.enable = true;
extraPortals = with pkgs;[
xdg-desktop-portal-gtk
xdg-desktop-portal-wlr
];
config = {
common = {
default = [ "gtk" ];
};
};
};
};
services.openssh = {
enable = true;
settings = {
PasswordAuthentication = false;
PermitRootLogin = "no";
};
};
# This option defines the first version of NixOS you have installed on this particular machine
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
+5 -59
View File
@@ -11,21 +11,12 @@ let
in
{
# Symlink dotfiles
home.file = mkSymlinkAttrs {
# Fonts
".local/share/fonts" = {
source = ../../fonts;
outOfStoreSymlink = true;
recursive = true;
};
imports = [
../graphical/file.nix # import shared configs
];
# Configs
".config/hypr" = {
source = ../../configs/hypr;
outOfStoreSymlink = true;
recursive = true;
};
# Symlink per-host ddtfiles
home.file = mkSymlinkAttrs {
".config/hypr/hypr-monitors.conf" = {
source = ../../configs/hypr-desktop/hypr-monitors.conf;
outOfStoreSymlink = true;
@@ -36,55 +27,10 @@ in
outOfStoreSymlink = true;
recursive = false;
};
".config/matugen" = {
source = ../../configs/matugen;
outOfStoreSymlink = true;
recursive = true;
};
".config/DankMaterialShell" = {
source = ../../configs/dms-desktop;
outOfStoreSymlink = true;
recursive = true;
};
".config/river" = {
source = ../../configs/river;
outOfStoreSymlink = true;
recursive = true;
};
".config/emacs" = {
source = ../../configs/emacs;
outOfStoreSymlink = true;
recursive = true;
};
".config/waybar" = {
source = ../../configs/waybar;
outOfStoreSymlink = true;
recursive = true;
};
".config/ghostty" = {
source = ../../configs/ghostty;
outOfStoreSymlink = true;
recursive = true;
};
".config/nvim" = {
source = ../../configs/nvim;
outOfStoreSymlink = true;
recursive = true;
};
".config/wofi" = {
source = ../../configs/wofi;
outOfStoreSymlink = true;
recursive = true;
};
".config/swaync" = {
source = ../../configs/swaync;
outOfStoreSymlink = true;
recursive = true;
};
".config/fastfetch" = {
source = ../../configs/fastfetch;
outOfStoreSymlink = true;
recursive = true;
};
};
}
-24
View File
@@ -40,32 +40,8 @@
];
nix.settings.experimental-features = [ "nix-command" "flakes" ];
# THEMING
## GTK SECTION
gtk = {
enable = true;
cursorTheme = {
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Ice";
};
theme = {
name = "Materia-dark";
package = pkgs.materia-theme;
};
iconTheme = {
package = pkgs.arc-icon-theme;
name = "arc-icon-theme";
};
};
# ENV SETTINGS
xdg.enable = true;
xdg.configFile = {
"user-dirs.dirs".source = ../../configs/user-dirs.dirs;
"user-dirs.locale".source = ../../configs/user-dirs.locale;
};
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
+7 -133
View File
@@ -4,142 +4,16 @@
}:
{
# BEGIN PACKAGES
home.packages = with pkgs; [
# audacity
android-studio
audacity
bat
brave
brightnessctl
btop
comma
emacs-all-the-icons-fonts
emacsPackages.pdf-tools
exfatprogs
fastfetch
ffmpeg
filezilla
floorp-bin
fuzzel
fzf
genymotion
gimp
gtk4
gvfs
grimblast
grim
htop
hyprpicker
imagemagick
kdePackages.kdenlive
keepassxc
kdePackages.polkit-kde-agent-1
keepassxc
libreoffice
localsend
mpv
mupdf
nautilus
networkmanagerapplet
networkmanager_dmenu
nwg-look
openvpn
overskride
pamixer
pavucontrol
powertop
prismlauncher
protonvpn-gui
pywal
qbittorrent
signal-desktop
slurp
swaynotificationcenter
swww
teams-for-linux
texliveFull
xfce.thunar
xfce.thunar-volman
tree
waybar
wev
wlr-randr
wlsunset
zoom-us
imports = [
../graphical/pkgs.nix #import shared packages
];
# BEGIN PROGRAMS
# BEGIN PER-HOST PACKAGES
home.packages = with pkgs; [
];
# BEGIN PER-HOST PROGRAMS
programs = {
bash = {
enable = true;
enableCompletion = true;
enableVteIntegration = true;
initExtra =''
if [[ -z $ORIG_SHLVL ]]; then
export ORIG_SHLVL=$SHLVL
fi;
if [[ $SHLVL -gt $ORIG_SHLVL ]]; then
export PS1='\[\e[1;m\e[1;33m\e[1;m\] ($(($SHLVL - $ORIG_SHLVL))) \W\[\e[m\e[m\] 🐧 \[\e[1;32m\]~> \[\e[m\e[m\]'
else
export PS1='\[\e[1;m\e[1;33m\e[1;m\] \W\[\e[m\e[m\] 🐧 \[\e[1;32m\]~> \[\e[m\e[m\]'
fi;
export PATH="$HOME/.local/bin:$PATH"
set -o vi
fastfetch
'';
shellAliases = {
build = "./build.sh";
emacsd = "emacs --daemon";
emacsc = "emacsclient -c -a 'emacs'";
gap = "git add -p";
gcp = "git commit -p";
kpx = "keepassxc-cli open";
ls = "ls --color=auto";
ll = "ls -l";
la = "ls -lA";
fastfetch = "fastfetch -c $HOME/.config/fastfetch/config.json";
nixrebuild = "nixos-rebuild build --flake ~/personal/nixos#darp8 && sudo nixos-rebuild switch --flake ~/personal/nixos#darp8";
nixbuild = "sudo nixos-rebuild switch --flake";
nixtest = "sudo nixos-rebuild test --flake";
new = "source $HOME/.bashrc";
newbar = "pkill waybar; waybar &disown";
ping = "ping -c 5";
vi = "\\vim";
work = "nix develop --impure";
hyprLockRestore = "hyprctl --instance $1 'keyword misc:allow_session_lock_restore 1' && dms ipc call lock lock";
".." = "cd ..";
};
};
dankMaterialShell = {
enable = true;
};
emacs = {
enable = true;
package = pkgs.emacs-gtk;
extraPackages = epkgs: [
epkgs.pdf-tools
epkgs.org-pdftools
];
};
feh.enable = true;
git = {
enable = true;
lfs.enable = true;
diff-so-fancy.enable = true;
userEmail = "maloneliam@proton.me";
userName = "Liam Malone";
};
neovim = {
enable = true;
package = pkgs.neovim-unwrapped;
vimAlias = true;
vimdiffAlias = true;
};
obs-studio = {
enable = true;
};
wofi.enable = true;
};
}
+3 -26
View File
@@ -1,30 +1,7 @@
{ pkgs, ... }:
{
services = {
emacs = {
enable = true;
package = pkgs.emacs-gtk;
client = {
enable = true;
arguments = [
"-c"
"-a emacs"
];
};
startWithUserSession = "graphical";
};
gpg-agent = {
enable = true;
defaultCacheTtl = 1800;
enableSshSupport = true;
};
gnome-keyring.enable = true;
mpris-proxy.enable = true;
network-manager-applet.enable = true;
nextcloud-client.enable = true;
swww.enable = true;
};
imports = [
../graphical/services.nix # import shared services
];
}
+1 -1
View File
@@ -110,7 +110,7 @@
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 10d";
options = "--delete-older-than 7d";
};
nix.optimise = {
automatic = true;
+1 -6
View File
@@ -11,7 +11,7 @@ let
in
{
# Symlink dotfiles
# Symlink shared dotfiles
home.file = mkSymlinkAttrs {
# Fonts
".local/share/fonts" = {
@@ -31,11 +31,6 @@ in
outOfStoreSymlink = true;
recursive = true;
};
".config/DankMaterialShell" = {
source = ../../configs/dms-darp8;
outOfStoreSymlink = true;
recursive = true;
};
".config/river" = {
source = ../../configs/river;
outOfStoreSymlink = true;