diff --git a/flake.lock b/flake.lock
index 0d5a634..30777ee 100644
--- a/flake.lock
+++ b/flake.lock
@@ -316,6 +316,25 @@
"type": "github"
}
},
+ "desktopShell": {
+ "inputs": {
+ "nixpkgs": "nixpkgs_7",
+ "quickshell": "quickshell"
+ },
+ "locked": {
+ "lastModified": 1756754735,
+ "narHash": "sha256-SaWkbxuEEp8Qe8WDAjHx+i10INdUArJ1dr6WXshuULQ=",
+ "owner": "KyleKrein",
+ "repo": "DesktopShell",
+ "rev": "229656ac9edef9333090ea07a2f663dceadc0bf4",
+ "type": "github"
+ },
+ "original": {
+ "owner": "KyleKrein",
+ "repo": "DesktopShell",
+ "type": "github"
+ }
+ },
"devenv": {
"inputs": {
"cachix": "cachix_2",
@@ -350,6 +369,26 @@
"type": "github"
}
},
+ "dgop": {
+ "inputs": {
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1755962344,
+ "narHash": "sha256-Who8Q9eZS2QTXasgTL4i9YtHkjPqAZven1znUI+nP6w=",
+ "owner": "AvengeMedia",
+ "repo": "dgop",
+ "rev": "4d3a0431b7d65008349c45952d53665e3aade0f7",
+ "type": "github"
+ },
+ "original": {
+ "owner": "AvengeMedia",
+ "repo": "dgop",
+ "type": "github"
+ }
+ },
"disko": {
"inputs": {
"nixpkgs": [
@@ -1143,7 +1182,7 @@
"crane": "crane_3",
"flake-compat": "flake-compat_7",
"flake-parts": "flake-parts_3",
- "nixpkgs": "nixpkgs_8",
+ "nixpkgs": "nixpkgs_9",
"pre-commit-hooks-nix": "pre-commit-hooks-nix",
"rust-overlay": "rust-overlay_2"
},
@@ -1261,7 +1300,7 @@
"inputs": {
"niri-stable": "niri-stable",
"niri-unstable": "niri-unstable",
- "nixpkgs": "nixpkgs_10",
+ "nixpkgs": "nixpkgs_11",
"nixpkgs-stable": "nixpkgs-stable_2",
"xwayland-satellite-stable": "xwayland-satellite-stable",
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
@@ -1435,7 +1474,7 @@
"nix-gaming": {
"inputs": {
"flake-parts": "flake-parts_5",
- "nixpkgs": "nixpkgs_11"
+ "nixpkgs": "nixpkgs_12"
},
"locked": {
"lastModified": 1756518315,
@@ -1572,7 +1611,7 @@
"nixos-wsl": {
"inputs": {
"flake-compat": "flake-compat_8",
- "nixpkgs": "nixpkgs_12"
+ "nixpkgs": "nixpkgs_13"
},
"locked": {
"lastModified": 1755261305,
@@ -1697,6 +1736,22 @@
}
},
"nixpkgs_10": {
+ "locked": {
+ "lastModified": 1735523292,
+ "narHash": "sha256-opBsbR/nrGxiiF6XzlVluiHYb6yN/hEwv+lBWTy9xoM=",
+ "owner": "nixos",
+ "repo": "nixpkgs",
+ "rev": "6d97d419e5a9b36e6293887a89a078cf85f5a61b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nixos",
+ "ref": "nixpkgs-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_11": {
"locked": {
"lastModified": 1756266583,
"narHash": "sha256-cr748nSmpfvnhqSXPiCfUPxRz2FJnvf/RjJGvFfaCsM=",
@@ -1712,7 +1767,7 @@
"type": "github"
}
},
- "nixpkgs_11": {
+ "nixpkgs_12": {
"locked": {
"lastModified": 1755829505,
"narHash": "sha256-4/Jd+LkQ2ssw8luQVkqVs9spDBVE6h/u/hC/tzngsPo=",
@@ -1728,7 +1783,7 @@
"type": "github"
}
},
- "nixpkgs_12": {
+ "nixpkgs_13": {
"locked": {
"lastModified": 1754725699,
"narHash": "sha256-iAcj9T/Y+3DBy2J0N+yF9XQQQ8IEb5swLFzs23CdP88=",
@@ -1744,7 +1799,7 @@
"type": "github"
}
},
- "nixpkgs_13": {
+ "nixpkgs_14": {
"locked": {
"lastModified": 1756346337,
"narHash": "sha256-al0UcN5mXrO/p5lcH0MuQaj+t97s3brzCii8GfCBMuA=",
@@ -1760,7 +1815,7 @@
"type": "github"
}
},
- "nixpkgs_14": {
+ "nixpkgs_15": {
"locked": {
"lastModified": 1744868846,
"narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=",
@@ -1776,7 +1831,7 @@
"type": "github"
}
},
- "nixpkgs_15": {
+ "nixpkgs_16": {
"locked": {
"lastModified": 1751211869,
"narHash": "sha256-1Cu92i1KSPbhPCKxoiVG5qnoRiKTgR5CcGSRyLpOd7Y=",
@@ -1873,6 +1928,22 @@
}
},
"nixpkgs_7": {
+ "locked": {
+ "lastModified": 1754214453,
+ "narHash": "sha256-Q/I2xJn/j1wpkGhWkQnm20nShYnG7TI99foDBpXm1SY=",
+ "owner": "nixos",
+ "repo": "nixpkgs",
+ "rev": "5b09dc45f24cf32316283e62aec81ffee3c3e376",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nixos",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_8": {
"locked": {
"lastModified": 1730531603,
"narHash": "sha256-Dqg6si5CqIzm87sp57j5nTaeBbWhHFaVyG7V6L8k3lY=",
@@ -1887,7 +1958,7 @@
"type": "indirect"
}
},
- "nixpkgs_8": {
+ "nixpkgs_9": {
"locked": {
"lastModified": 1754243818,
"narHash": "sha256-sEPw2W01UPf0xNGnMGNZIaE1XHkk7O+lLLetYEXVZHk=",
@@ -1903,22 +1974,6 @@
"type": "github"
}
},
- "nixpkgs_9": {
- "locked": {
- "lastModified": 1735523292,
- "narHash": "sha256-opBsbR/nrGxiiF6XzlVluiHYb6yN/hEwv+lBWTy9xoM=",
- "owner": "nixos",
- "repo": "nixpkgs",
- "rev": "6d97d419e5a9b36e6293887a89a078cf85f5a61b",
- "type": "github"
- },
- "original": {
- "owner": "nixos",
- "ref": "nixpkgs-unstable",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
"nmd": {
"flake": false,
"locked": {
@@ -2005,7 +2060,7 @@
"flake-utils": "flake-utils_3",
"mnw": "mnw",
"nil": "nil",
- "nixpkgs": "nixpkgs_9",
+ "nixpkgs": "nixpkgs_10",
"nmd": "nmd",
"plugin-aerial-nvim": "plugin-aerial-nvim",
"plugin-alpha-nvim": "plugin-alpha-nvim",
@@ -4149,7 +4204,7 @@
},
"qml-nix": {
"inputs": {
- "nixpkgs": "nixpkgs_7"
+ "nixpkgs": "nixpkgs_8"
},
"locked": {
"lastModified": 1730724501,
@@ -4166,6 +4221,27 @@
}
},
"quickshell": {
+ "inputs": {
+ "nixpkgs": [
+ "desktopShell",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1753595452,
+ "narHash": "sha256-vqkSDvh7hWhPvNjMjEDV4KbSCv2jyl2Arh73ZXe274k=",
+ "ref": "refs/heads/master",
+ "rev": "a5431dd02dc23d9ef1680e67777fed00fe5f7cda",
+ "revCount": 665,
+ "type": "git",
+ "url": "https://git.outfoxxed.me/quickshell/quickshell"
+ },
+ "original": {
+ "type": "git",
+ "url": "https://git.outfoxxed.me/quickshell/quickshell"
+ }
+ },
+ "quickshell_2": {
"inputs": {
"nixpkgs": [
"nixpkgs"
@@ -4209,6 +4285,8 @@
"chaotic": "chaotic",
"conduwuit": "conduwuit",
"deploy-rs": "deploy-rs",
+ "desktopShell": "desktopShell",
+ "dgop": "dgop",
"disko": "disko",
"emacs-kylekrein": "emacs-kylekrein",
"home-manager": "home-manager_2",
@@ -4224,9 +4302,9 @@
"nixos-facter-modules": "nixos-facter-modules",
"nixos-hardware": "nixos-hardware",
"nixos-wsl": "nixos-wsl",
- "nixpkgs": "nixpkgs_13",
+ "nixpkgs": "nixpkgs_14",
"pre-commit-hooks": "pre-commit-hooks",
- "quickshell": "quickshell",
+ "quickshell": "quickshell_2",
"snowfall-flake": "snowfall-flake",
"snowfall-lib": "snowfall-lib_3",
"sops-nix": "sops-nix",
@@ -4425,7 +4503,7 @@
},
"sops-nix": {
"inputs": {
- "nixpkgs": "nixpkgs_14"
+ "nixpkgs": "nixpkgs_15"
},
"locked": {
"lastModified": 1754988908,
@@ -4450,7 +4528,7 @@
"firefox-gnome-theme": "firefox-gnome-theme",
"flake-parts": "flake-parts_6",
"gnome-shell": "gnome-shell",
- "nixpkgs": "nixpkgs_15",
+ "nixpkgs": "nixpkgs_16",
"nur": "nur",
"systems": "systems_7",
"tinted-foot": "tinted-foot",
diff --git a/flake.nix b/flake.nix
index e9b98f8..686f8a3 100644
--- a/flake.nix
+++ b/flake.nix
@@ -96,6 +96,11 @@
url = "git+https://git.outfoxxed.me/outfoxxed/quickshell";
inputs.nixpkgs.follows = "nixpkgs";
};
+ dgop = {
+ url = "github:AvengeMedia/dgop";
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
+ desktopShell.url = "github:KyleKrein/DesktopShell";
};
outputs = inputs: let
diff --git a/homes/x86_64-linux/kylekrein/default.nix b/homes/x86_64-linux/kylekrein/default.nix
index b0f77b5..4b80b5e 100644
--- a/homes/x86_64-linux/kylekrein/default.nix
+++ b/homes/x86_64-linux/kylekrein/default.nix
@@ -18,6 +18,7 @@ in
firstNixOSInstall = 1729112485;
};
nheko.enable = osConfig.custom.presets.wayland.enable;
+ xournalpp.enable = osConfig.custom.presets.wayland.enable;
librewolf.enable = osConfig.custom.presets.wayland.enable;
prismlauncher.enable = osConfig.custom.presets.gaming.enable;
bottles.enable = osConfig.custom.presets.wayland.enable;
diff --git a/homes/x86_64-linux/kylekrein/emacs.nix b/homes/x86_64-linux/kylekrein/emacs.nix
index 4c17dbd..4fcc629 100644
--- a/homes/x86_64-linux/kylekrein/emacs.nix
+++ b/homes/x86_64-linux/kylekrein/emacs.nix
@@ -18,7 +18,7 @@ in {
Description = "Launches (and relaunches) emacs";
};
Install = {
- WantedBy = ["default.target"];
+ WantedBy = ["graphical-session.target"];
};
Service = {
ExecStart = "${pkgs.writeShellScript "run-emacs" ''
diff --git a/homes/x86_64-linux/kylekrein/niri/desktopShell.nix b/homes/x86_64-linux/kylekrein/niri/desktopShell.nix
new file mode 100644
index 0000000..21a43f2
--- /dev/null
+++ b/homes/x86_64-linux/kylekrein/niri/desktopShell.nix
@@ -0,0 +1,60 @@
+{
+ osConfig,
+ config,
+ pkgs,
+ lib,
+ inputs,
+ namespace,
+ ...
+}:
+with lib.custom; let
+ username = config.snowfallorg.user.name;
+ home = config.snowfallorg.user.home.directory;
+ impermanence = config.${namespace}.impermanence;
+in
+ lib.mkIf osConfig.custom.windowManagers.niri.enable {
+ home.packages = with pkgs; [
+ inputs.quickshell.packages.${pkgs.system}.quickshell
+ material-symbols
+ inter
+ fira-code
+ cava
+ wl-clipboard
+ cliphist
+ ddcutil
+ libsForQt5.qt5ct
+ kdePackages.qt6ct
+ matugen
+ dgop
+ glib
+ khal # calendar
+ gammastep # night mode
+ kdePackages.qtvirtualkeyboard
+ ];
+ xdg.configFile."quickshell".source = "${
+ inputs.desktopShell.packages.${pkgs.system}.dankMaterialShell
+ }/etc/xdg/quickshell";
+ home.file.".config/DankMaterialShell/settings.json".source = ./settings.json;
+ home.persistence = lib.mkIf impermanence.enable {
+ "${impermanence.persistentStorage}" = {
+ files = [
+ ".local/state/DankMaterialShell/session.json"
+ ".local/share/color-schemes/DankMatugen.colors"
+ ];
+ directories = [
+ ".config/qt5ct"
+ ".config/qt6ct"
+ ".config/gtk-3.0"
+ ".config/gtk-4.0"
+ ];
+ };
+ };
+
+ programs.niri = {
+ settings = {
+ spawn-at-startup = [
+ {command = ["qs" "-c" "DankMaterialShell"];}
+ ];
+ };
+ };
+ }
diff --git a/homes/x86_64-linux/kylekrein/niri/hyprlock.nix b/homes/x86_64-linux/kylekrein/niri/hyprlock.nix
deleted file mode 100644
index ac6f2ca..0000000
--- a/homes/x86_64-linux/kylekrein/niri/hyprlock.nix
+++ /dev/null
@@ -1,97 +0,0 @@
-{
- pkgs,
- lib,
- osConfig,
- ...
-}: let
- enable = osConfig.custom.windowManagers.niri.enable;
- profile-image = ./nixos-warbler.png;
- battery = osConfig.custom.hardware.battery;
- battery-level = battery.scripts.labelPercent;
-in {
- programs.hyprlock = {
- inherit enable;
- settings = {
- general = {
- #enable_fingerprint = true;
- disable_loading_bar = true;
- hide_cursor = true;
- no_fade_in = false;
- grace = 10;
- };
- background = {
- path = "${./wallpaper.jpg}";
- blur_passes = 1;
- blur_size = 7;
- noise = 0.0117;
- contrast = 0.8916;
- brightness = 0.8172;
- vibrancy = 0.1696;
- vibrancy_darkness = 0.0;
- };
- image = {
- path = "${profile-image}";
- size = 150;
- border_size = 4;
- #border_color = "rgb(0C96F9)";
- rounding = -1; # Negative means circle
- position = "0, 220";
- halign = "center";
- valign = "center";
- };
- input-field = {
- size = "600, 100";
- outline_thickness = 3;
- dots_size = 0.33;
- dots_spacing = 0.15;
- dots_center = true;
- dots_rounding = -1;
- dots_fade_time = 200;
- placeholder_text = "Input Password...";
- hide_input = false;
- fade_on_empty = false;
- fail_text = "$FAIL ($ATTEMPTS)";
- fail_timeout = 2000;
- fail_transition = 300;
- position = "0, -20";
- halign = "center";
- valign = "center";
- };
- label =
- [
- {
- text = "$USER";
- font_family = "Fira Code";
- font_size = 56;
- position = "0, 100";
- halign = "center";
- valign = "center";
- }
- {
- text = "$TIME";
- font_family = "Roboto";
- font_size = 72;
- position = "-40, -40";
- halign = "right";
- valign = "top";
- }
- {
- text = "$LAYOUT";
- font_family = "JetBrains Mono";
- font_size = 28;
- position = "-20, 20";
- halign = "right";
- valign = "bottom";
- }
- ]
- ++ lib.optional (battery.enable) {
- text = ''cmd[update:10000] ${battery-level}'';
- font_family = "JetBrains Mono";
- font_size = 28;
- position = "20, 20";
- halign = "left";
- valign = "bottom";
- };
- };
- };
-}
diff --git a/homes/x86_64-linux/kylekrein/niri/niri.nix b/homes/x86_64-linux/kylekrein/niri/niri.nix
index 10d75dc..264d2eb 100644
--- a/homes/x86_64-linux/kylekrein/niri/niri.nix
+++ b/homes/x86_64-linux/kylekrein/niri/niri.nix
@@ -6,6 +6,7 @@
config,
pkgs,
lib,
+ inputs,
...
}:
with lib.custom; let
@@ -16,25 +17,11 @@ in
custom = {
programs.nautilus = enabled;
};
- programs.fuzzel = {
- enable = true;
- settings.main.terminal = "kitty";
- };
- services.swaync = {
- enable = true;
- };
home.packages = with pkgs; [
playerctl
papers
- nwg-drawer
- wlogout
brightnessctl
- fuzzel
- waybar
- swaybg
libnotify
- hyprlock
- networkmanagerapplet
custom.wvkbd-kylekrein
custom.lisgd-kylekrein
];
@@ -47,11 +34,6 @@ in
"--hidden"
];
}
- {
- command = [
- "${lib.getExe pkgs.networkmanagerapplet}"
- ];
- }
{
command = [
"dbus-update-activation-environment"
@@ -66,15 +48,6 @@ in
"hide"
];
}
- {
- command = [
- "${lib.getExe pkgs.swaybg}"
- "-m"
- "fill"
- "-i"
- "${./wallpaper.jpg}"
- ];
- }
];
layout = {
preset-column-widths = [
@@ -91,7 +64,7 @@ in
screenshot-annotate = sh ''${lib.getExe pkgs.grim} -g "$(${lib.getExe pkgs.slurp} -w 0)" -t ppm - | ${lib.getExe pkgs.satty} --early-exit --copy-command 'wl-copy' --filename '-' --initial-tool brush'';
in {
"Mod+E".action = sh "emacsclient -c";
- "Mod+Shift+C".action = sh "dolphin";
+ "Mod+Shift+C".action = sh "nautilus";
"Mod+C".action = emacs ''(dirvish \"${home}\")'';
"Mod+T".action = spawn "kitty";
"Mod+D".action = spawn "fuzzel";
@@ -136,9 +109,101 @@ in
"Mod+Shift+Ctrl+Left".action = move-column-to-monitor-left;
"Mod+Shift+Ctrl+Right".action = move-column-to-monitor-right;
- "XF86AudioRaiseVolume".action = sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+";
- "XF86AudioLowerVolume".action = sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-";
- "XF86AudioMute".action = sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
+ "Mod+Space".action.spawn = [
+ "qs"
+ "-c"
+ "DankMaterialShell"
+ "ipc"
+ "call"
+ "spotlight"
+ "toggle"
+ ];
+ "Mod+V".action.spawn = [
+ "qs"
+ "-c"
+ "DankMaterialShell"
+ "ipc"
+ "call"
+ "clipboard"
+ "toggle"
+ ];
+ "Mod+M".action.spawn = [
+ "qs"
+ "-c"
+ "DankMaterialShell"
+ "ipc"
+ "call"
+ "processlist"
+ "toggle"
+ ];
+ "Mod+Comma".action.spawn = [
+ "qs"
+ "-c"
+ "DankMaterialShell"
+ "ipc"
+ "call"
+ "settings"
+ "toggle"
+ ];
+ "Super+L".action.spawn = [
+ "qs"
+ "-c"
+ "DankMaterialShell"
+ "ipc"
+ "call"
+ "lock"
+ "lock"
+ ];
+ "XF86AudioRaiseVolume" = {
+ allow-when-locked = true;
+ action.spawn = [
+ "qs"
+ "-c"
+ "DankMaterialShell"
+ "ipc"
+ "call"
+ "audio"
+ "increment"
+ "3"
+ ];
+ };
+ "XF86AudioLowerVolume" = {
+ allow-when-locked = true;
+ action.spawn = [
+ "qs"
+ "-c"
+ "DankMaterialShell"
+ "ipc"
+ "call"
+ "audio"
+ "decrement"
+ "3"
+ ];
+ };
+ "XF86AudioMute" = {
+ allow-when-locked = true;
+ action.spawn = [
+ "qs"
+ "-c"
+ "DankMaterialShell"
+ "ipc"
+ "call"
+ "audio"
+ "mute"
+ ];
+ };
+ "XF86AudioMicMute" = {
+ allow-when-locked = true;
+ action.spawn = [
+ "qs"
+ "-c"
+ "DankMaterialShell"
+ "ipc"
+ "call"
+ "audio"
+ "micmute"
+ ];
+ };
"XF86MonBrightnessUp".action = sh "brightnessctl set 10%+";
"XF86MonBrightnessDown".action = sh "brightnessctl set 10%-";
@@ -257,11 +322,9 @@ in
services.hypridle = let
niri = lib.getExe config.programs.niri.package;
loginctl = "${pkgs.systemd}/bin/loginctl";
- pidof = "${pkgs.procps}/bin/pidof";
- locking-script = "${pidof} hyprlock || ${lib.getExe pkgs.hyprlock}";
+ qs = "${inputs.quickshell.packages.${pkgs.system}.quickshell}/bin/qs";
+ locking-script = "${qs} -c DankMaterialShell ipc call lock lock";
systemctl = "${pkgs.systemd}/bin/systemctl";
- #locking-script = "${pkgs.swaylock}/bin/swaylock --daemonize";
- #unlocking-script = "pkill -SIGUSR1 swaylock";
suspendScript = cmd:
pkgs.writeShellScript "suspend-script" ''
# check if any player has status "Playing"
@@ -274,8 +337,8 @@ in
in {
enable = true;
settings.general = {
- before_sleep_cmd = "${pidof} hyprlock || ${loginctl} lock-session;#${niri} msg action power-off-monitors";
- after_sleep_cmd = "#${niri} msg action power-on-monitors";
+ before_sleep_cmd = "${loginctl} lock-session";
+ #after_sleep_cmd = "#${niri} msg action power-on-monitors";
lock_cmd = "${locking-script}";
};
settings.listener = let
diff --git a/homes/x86_64-linux/kylekrein/niri/settings.json b/homes/x86_64-linux/kylekrein/niri/settings.json
new file mode 100644
index 0000000..b40cf35
--- /dev/null
+++ b/homes/x86_64-linux/kylekrein/niri/settings.json
@@ -0,0 +1,117 @@
+{
+ "currentThemeName": "dynamic",
+ "customThemeFile": "",
+ "topBarTransparency": 0.75,
+ "topBarWidgetTransparency": 0.85,
+ "popupTransparency": 0.92,
+ "dockTransparency": 1,
+ "use24HourClock": true,
+ "useFahrenheit": false,
+ "nightModeEnabled": false,
+ "weatherLocation": "Paderborn, Nordrhein-Westfalen",
+ "weatherCoordinates": "51.7177044,8.7526530",
+ "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,
+ "showWorkspaceIndex": false,
+ "showWorkspacePadding": false,
+ "workspaceNameIcons": {},
+ "clockCompactMode": false,
+ "focusedWindowCompactMode": false,
+ "runningAppsCompactMode": true,
+ "runningAppsCurrentWorkspace": false,
+ "clockDateFormat": "ddd d",
+ "lockDateFormat": "dddd, MMMM d",
+ "mediaSize": 1,
+ "topBarLeftWidgets": [
+ "launcherButton",
+ "workspaceSwitcher"
+ ],
+ "topBarCenterWidgets": [
+ "music",
+ "clock",
+ "weather"
+ ],
+ "topBarRightWidgets": [
+ {
+ "id": "systemTray",
+ "enabled": true
+ },
+ {
+ "id": "clipboard",
+ "enabled": true
+ },
+ {
+ "id": "idleInhibitor",
+ "enabled": true
+ },
+ {
+ "id": "notificationButton",
+ "enabled": true
+ },
+ {
+ "id": "privacyIndicator",
+ "enabled": true
+ },
+ {
+ "id": "keyboard_layout_name",
+ "enabled": true
+ },
+ {
+ "id": "battery",
+ "enabled": true
+ },
+ {
+ "id": "controlCenterButton",
+ "enabled": true
+ }
+ ],
+ "appLauncherViewMode": "grid",
+ "spotlightModalViewMode": "list",
+ "networkPreference": "auto",
+ "iconTheme": "System Default",
+ "useOSLogo": false,
+ "osLogoColorOverride": "",
+ "osLogoBrightness": 0.5,
+ "osLogoContrast": 1,
+ "wallpaperDynamicTheming": true,
+ "fontFamily": "Inter Variable",
+ "monoFontFamily": "Fira Code",
+ "fontWeight": 400,
+ "gtkThemingEnabled": true,
+ "qtThemingEnabled": true,
+ "showDock": false,
+ "dockAutoHide": false,
+ "cornerRadius": 12,
+ "notificationOverlayEnabled": false,
+ "topBarAutoHide": false,
+ "topBarVisible": true,
+ "topBarSpacing": 4,
+ "topBarBottomGap": 0,
+ "topBarInnerPadding": 8,
+ "topBarSquareCorners": false,
+ "topBarNoBackground": false,
+ "notificationTimeoutLow": 5000,
+ "notificationTimeoutNormal": 5000,
+ "notificationTimeoutCritical": 0,
+ "screenPreferences": {}
+}
diff --git a/homes/x86_64-linux/kylekrein/niri/wallpaper.jpg b/homes/x86_64-linux/kylekrein/niri/wallpapers/autumn-forest.jpg
similarity index 100%
rename from homes/x86_64-linux/kylekrein/niri/wallpaper.jpg
rename to homes/x86_64-linux/kylekrein/niri/wallpapers/autumn-forest.jpg
diff --git a/homes/x86_64-linux/kylekrein/niri/waybar.nix b/homes/x86_64-linux/kylekrein/niri/waybar.nix
deleted file mode 100644
index 14f2e87..0000000
--- a/homes/x86_64-linux/kylekrein/niri/waybar.nix
+++ /dev/null
@@ -1,163 +0,0 @@
-{
- pkgs,
- lib,
- osConfig,
- ...
-}: let
- battery = osConfig.custom.hardware.battery;
- enable = osConfig.custom.windowManagers.niri.enable;
-in {
- programs.waybar = {
- inherit enable;
- systemd.enable = true;
- style = ''
- ${builtins.readFile ./waybarstyle.css}'';
- settings = [
- {
- height = 36;
- layer = "top";
- position = "top";
- tray = {spacing = 3;};
- modules-center = [
- "clock"
- ];
- modules-left = [
- "custom/drawer"
- "wlr/taskbar"
- "niri/workspaces"
- "niri/window"
- ];
- modules-right =
- [
- "backlight"
- "pulseaudio"
- #"network"
- #"cpu"
- "memory"
- #"temperature"
- "niri/language"
- ]
- ++ lib.optional battery.enable "custom/battery"
- ++ [
- "tray"
- "custom/notification"
- "custom/power"
- ];
- battery = lib.mkIf battery.enable {
- format = " {time} {icon} ";
- format-alt = " {capacity}% {icon} ";
- format-charging = " {capacity}% ";
- format-icons = ["" "" "" "" ""];
- format-plugged = " {capacity}% ";
- states = {
- critical = 10;
- warning = 20;
- };
- };
- backlight = {
- format = "{percent}% ";
- on-scroll-up = "${pkgs.brightnessctl}/bin/brightnessctl s 5%+";
- on-scroll-down = "${pkgs.brightnessctl}/bin/brightnessctl s 5%-";
- };
- "custom/battery" = {
- exec = "${pkgs.writeShellScriptBin "battery-widget" ''
- ${battery.scripts.labelAdaptive}
- ${battery.scripts.labelPercent}
- ''}/bin/battery-widget";
- interval = 20;
- tooltip = true;
- };
- clock = {
- format = "{:%a %d | %H:%M}";
- format-alt = "{:%d.%m.%Y}";
- tooltip-format = "{:%d.%m.%Y | %H:%M}";
- };
- cpu = {
- format = "{usage}% ";
- tooltip = false;
- };
- "custom/drawer" = {
- format = "";
- tooltip = false;
- on-click = ''nwg-drawer -fm "dolphin" -closebtn "right" -nocats -term "kitty" -ovl -wm "niri" -s "${./drawerstyle.css}" '';
- };
- "niri/language" = {
- format = "{}";
- format-en = "EN";
- format-ru = "RU";
- format-de = "DE";
- on-click = "niri msg action switch-layout next";
- on-click-right = "niri msg action switch-layout prev";
- };
- "wlr/taskbar" = {
- format = "{icon}";
- icon-size = 18;
- tooltip-format = "{title}";
- on-click = "activate";
- on-click-middle = "close";
- };
- memory = {
- interval = 1;
- format = " {used}/{total}Gb";
- };
- network = {
- interval = 1;
- format-alt = "{ifname}: {ipaddr}/{cidr}";
- format-disconnected = "Disconnected ⚠";
- format-ethernet = "{ifname}: {ipaddr}/{cidr} up: {bandwidthUpBits} down: {bandwidthDownBits}";
- format-linked = "{ifname} (No IP) ";
- #format-wifi = "{signalStrength}% ";
- format-wifi = "{signalStrength}% ";
- tooltip-format = "{essid} ({signalStrength}%) ";
- };
- pulseaudio = {
- format = "{icon} {volume}% {format_source}";
- format-bluetooth = "{icon} {volume}% {format_source}";
- format-bluetooth-muted = " {format_source}";
- format-icons = {
- car = "";
- default = [" " " " " "];
- handsfree = "";
- headphones = "";
- headset = "";
- phone = "";
- portable = "";
- };
- format-muted = " {format_source}";
- format-source = " {volume}%";
- format-source-muted = " ";
- on-click = "${pkgs.pwvucontrol}/bin/pwvucontrol";
- };
- "hyprland/submap" = {format = ''{}'';};
- temperature = {
- critical-threshold = 80;
- format = "{temperatureC}°C {icon}";
- format-icons = ["" "" ""];
- };
-
- "custom/power" = {
- format = "⏻";
- tooltip = false;
- on-click = "wlogout";
- };
-
- "custom/notification" = {
- tooltip = false;
- format = "{icon}";
- format-icons = {
- notification = "";
- none = "";
- dnd-notification = "";
- dnd-none = "";
- };
- return-type = "json";
- exec-if = "which swaync-client";
- exec = "swaync-client -swb";
- on-click = "sleep 0.1 && swaync-client -t -sw";
- on-click-right = "sleep 0.1 && swaync-client -d -sw";
- escape = true;
- };
- }
- ];
- };
-}
diff --git a/homes/x86_64-linux/kylekrein/niri/waybarstyle.css b/homes/x86_64-linux/kylekrein/niri/waybarstyle.css
deleted file mode 100644
index 3b1cc5f..0000000
--- a/homes/x86_64-linux/kylekrein/niri/waybarstyle.css
+++ /dev/null
@@ -1,104 +0,0 @@
-* {
- border: none;
- font-family: Font Awesome, Roboto, Arial, sans-serif;
- font-size: 16px;
- color: #B9826A;
- border-radius: 10px;
-}
-
-window {
- font-weight: bold;
-}
-window#waybar {
- background: transparent;
-}
-/*-----module groups----*/
-.modules-right {
- background-color: rgba(0,43,51,0.85);
- margin: 2px 10px 0 0;
-}
-.modules-center {
- background-color: rgba(0,43,51,0.85);
- margin: 2px 0 0 0;
-}
-.modules-left {
- margin: 2px 0 0 5px;
- background-color: rgba(0,43,51,0.85);
-}
-/*-----modules indv----*/
-#workspaces button {
- padding: 1px 5px;
- background-color: transparent;
-}
-#workspaces button:hover {
- box-shadow: inherit;
- background-color: rgba(0,153,153,1);
-}
-
-#workspaces button.focused {
- background-color: rgba(0,119,179,0.6);
-}
-
-#clock,
-#battery,
-#cpu,
-#memory,
-#temperature,
-#network,
-#pulseaudio,
-#custom-media,
-#tray,
-#mode,
-#niri-language,
-#language,
-#custom-power,
-#custom-menu,
-#custom-battery,
-#custom-notification,
-#custom-drawer,
-#backlight,
-#workspaces,
-#window,
-#taskbar,
-#idle_inhibitor {
- margin: 0px 0px;
- padding: 0px 5px;
- border-right: 1px solid rgba(255,255,255,0.2);
- border-radius: 0px;
-}
-#clock,
-#custom-power,
-#window {
- border-right: none;
-}
-#custom-drawer {
- font-size: 20px;
-}
-#custom-power,
-#custom-drawer,
-#custom-notification {
- padding: 0px 0.5em 0px 0.3em;
-}
-#mode {
- color: #cc3436;
- font-weight: bold;
-}
-/*-----Indicators----*/
-#idle_inhibitor.activated {
- color: #2dcc36;
-}
-#pulseaudio.muted {
- color: #cc3436;
-}
-#battery.charging {
- color: #2dcc36;
-}
-#battery.warning:not(.charging) {
- color: #e6e600;
-}
-#battery.critical:not(.charging) {
- color: #cc3436;
-}
-#temperature.critical {
- color: #cc3436;
-}
diff --git a/modules/home/programs/xournalpp/default.nix b/modules/home/programs/xournalpp/default.nix
new file mode 100644
index 0000000..c9c0ebb
--- /dev/null
+++ b/modules/home/programs/xournalpp/default.nix
@@ -0,0 +1,31 @@
+{
+ lib,
+ pkgs,
+ inputs,
+ namespace,
+ system,
+ target,
+ format,
+ virtual,
+ systems,
+ config,
+ ...
+}:
+with lib;
+with lib.${namespace}; let
+ cfg = config.${namespace}.programs.xournalpp;
+ impermanence = config.${namespace}.impermanence;
+in {
+ options.${namespace}.programs.xournalpp = with types; {
+ enable = mkBoolOpt false "Enable xournal++";
+ };
+
+ config = mkIf cfg.enable {
+ home.packages = with pkgs; [xournalpp];
+ home.persistence = mkIf impermanence.enable {
+ "${impermanence.persistentStorage}".directories = [
+ ".config/xournalpp"
+ ];
+ };
+ };
+}
diff --git a/modules/nixos/hardware/battery/default.nix b/modules/nixos/hardware/battery/default.nix
index 733503d..3ccc5bd 100644
--- a/modules/nixos/hardware/battery/default.nix
+++ b/modules/nixos/hardware/battery/default.nix
@@ -30,9 +30,14 @@ in {
};
};
- config = mkIf cfg.enable (import ./batteryStatus.nix {
- inherit config;
- inherit namespace;
- inherit pkgs;
- });
+ config = mkIf cfg.enable (mkMerge [
+ (import ./batteryStatus.nix {
+ inherit config;
+ inherit namespace;
+ inherit pkgs;
+ })
+ {
+ services.upower.enable = true;
+ }
+ ]);
}
diff --git a/modules/nixos/hardware/bluetooth/default.nix b/modules/nixos/hardware/bluetooth/default.nix
index 329087c..870792b 100644
--- a/modules/nixos/hardware/bluetooth/default.nix
+++ b/modules/nixos/hardware/bluetooth/default.nix
@@ -29,6 +29,6 @@ in {
};
};
};
- services.blueman.enable = true;
+ #services.blueman.enable = true;
};
}
diff --git a/overlays/dgop/default.nix b/overlays/dgop/default.nix
new file mode 100644
index 0000000..fed366a
--- /dev/null
+++ b/overlays/dgop/default.nix
@@ -0,0 +1,3 @@
+{inputs, ...}: final: prev: {
+ dgop = inputs.dgop.packages.${prev.system}.dgop;
+}
diff --git a/systems/x86_64-linux/kylekrein-framework12/default.nix b/systems/x86_64-linux/kylekrein-framework12/default.nix
index dc0cd34..957c3e4 100644
--- a/systems/x86_64-linux/kylekrein-framework12/default.nix
+++ b/systems/x86_64-linux/kylekrein-framework12/default.nix
@@ -42,6 +42,7 @@ in
};
custom.hardware.framework12 = enabled;
custom.hardware.secureBoot = enabled;
+ custom.hardware.tablet.inputDevice = "/dev/input/by-path/platform-gpio-keys.9.auto-event";
custom.impermanence = enabled;
custom.presets.workstation = enabled;
custom.presets.gaming = enabled;