diff --git a/boot-splash.nix b/boot-splash.nix deleted file mode 100644 index fe93aaa..0000000 --- a/boot-splash.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ config, lib, pkgs, ... }: -{ -boot = { - # silence first boot output - consoleLogLevel = 3; - initrd.verbose = false; - initrd.systemd.enable = true; - kernelParams = [ - "quiet" - "splash" - "intremap=on" - "boot.shell_on_fail" - "udev.log_priority=3" - "rd.systemd.show_status=auto" - ]; - - # plymouth, showing after LUKS unlock - plymouth.enable = true; - plymouth.font = "${pkgs.hack-font}/share/fonts/truetype/Hack-Regular.ttf"; - plymouth.logo = "${pkgs.nixos-icons}/share/icons/hicolor/128x128/apps/nix-snowflake.png"; -}; -} diff --git a/flake.lock b/flake.lock index 979f6fd..376eebc 100644 --- a/flake.lock +++ b/flake.lock @@ -124,16 +124,16 @@ "gnome-shell": { "flake": false, "locked": { - "lastModified": 1748186689, - "narHash": "sha256-UaD7Y9f8iuLBMGHXeJlRu6U1Ggw5B9JnkFs3enZlap0=", + "lastModified": 1744584021, + "narHash": "sha256-0RJ4mJzf+klKF4Fuoc8VN8dpQQtZnKksFmR2jhWE1Ew=", "owner": "GNOME", "repo": "gnome-shell", - "rev": "8c88f917db0f1f0d80fa55206c863d3746fa18d0", + "rev": "52c517c8f6c199a1d6f5118fae500ef69ea845ae", "type": "github" }, "original": { "owner": "GNOME", - "ref": "48.2", + "ref": "48.1", "repo": "gnome-shell", "type": "github" } @@ -309,6 +309,29 @@ "type": "github" } }, + "plasma-manager": { + "inputs": { + "home-manager": [ + "home-manager" + ], + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1762784320, + "narHash": "sha256-odsk96Erywk5hs0dhArF38zb7Oe0q6LZ70gXbxAPKno=", + "owner": "nix-community", + "repo": "plasma-manager", + "rev": "7911a0f8a44c7e8b29d031be3149ee8943144321", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "plasma-manager", + "type": "github" + } + }, "quickshell": { "inputs": { "nixpkgs": [ @@ -337,6 +360,7 @@ "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs_2", "noctalia": "noctalia", + "plasma-manager": "plasma-manager", "quickshell": "quickshell", "stylix": "stylix", "zen-browser": "zen-browser" @@ -363,15 +387,16 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1760472212, - "narHash": "sha256-4C3I/ssFsq8EgaUmZP0xv5V7RV0oCHgL/Rx+MUkuE+E=", + "lastModified": 1763740035, + "narHash": "sha256-h33/8bTP5ww1oKwrXgK2fuJPsNlWPzdG4jsvUlr6qqM=", "owner": "nix-community", "repo": "stylix", - "rev": "8d008296a1b3be9b57ad570f7acea00dd2fc92db", + "rev": "206e6ee4d11adcc80d8cbe612e14e08641474fc8", "type": "github" }, "original": { "owner": "nix-community", + "ref": "release-25.05", "repo": "stylix", "type": "github" } diff --git a/flake.nix b/flake.nix index 9ebf705..a9f7e4c 100644 --- a/flake.nix +++ b/flake.nix @@ -8,11 +8,18 @@ home-manager.url = "github:nix-community/home-manager/release-25.05"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; + + plasma-manager = { + url = "github:nix-community/plasma-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.home-manager.follows = "home-manager"; + }; zen-browser.url = "github:0xc000022070/zen-browser-flake"; zen-browser.inputs.nixpkgs.follows = "nixpkgs"; - stylix.url = "github:nix-community/stylix"; + #stylix.url = "github:nix-community/stylix/"; + stylix.url = "github:nix-community/stylix/release-25.05"; #Had to use branch or it would not build corrently stylix.inputs.nixpkgs.follows = "nixpkgs"; quickshell = { @@ -31,9 +38,10 @@ grub2-themes.url = "github:vinceliuice/grub2-themes"; }; - outputs = inputs@{ nixpkgs, home-manager, nixos-hardware ,stylix, zen-browser, grub2-themes, nix-flatpak, ... }: + outputs = inputs@{ nixpkgs, home-manager, plasma-manager, nixos-hardware ,stylix, zen-browser, grub2-themes, nix-flatpak, ... }: let username = "cookiez"; + hostname = "nixos"; version = "25.05"; system = "x86_64-linux"; pkgs = import nixpkgs { inherit system; }; @@ -45,30 +53,20 @@ in { nixosConfigurations = { - #Replace the below with your hostname!!! Like: {hostname} = nixpkgs.lib.nixosSystem { - nixos = nixpkgs.lib.nixosSystem { + ${hostname} = nixpkgs.lib.nixosSystem { inherit system; specialArgs = { - inherit inputs username version; + inherit inputs; + inherit username; + inherit version; + inherit system; + host = hostname; }; modules = [ - ./configuration.nix - ./firefox.nix - ./boot-splash.nix - ./zsh.nix - ./neovim.nix - ./packages.nix + ./modules grub2-themes.nixosModules.default nix-flatpak.nixosModules.nix-flatpak stylix.nixosModules.stylix - home-manager.nixosModules.home-manager - { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.users.${username} = ./home.nix; - home-manager.backupFileExtension = "backup"; # Automatically backs up conflicting files during activation - home-manager.extraSpecialArgs = { inherit inputs username version; system = "x86_64-linux"; }; - } #Conditional Modules! ] ++ (if hyprlandEnabled then [ ./hyprland/hyprland.nix ] else [ ]) ++ [ ] ++ (if plasmaEnabled then [ ./plasma/plasma.nix ] else [ ]) ++ [ diff --git a/modules/boot-splash.nix b/modules/boot-splash.nix new file mode 100644 index 0000000..b112014 --- /dev/null +++ b/modules/boot-splash.nix @@ -0,0 +1,22 @@ +{ config, lib, pkgs, ... }: +{ + boot = { + # silence first boot output + consoleLogLevel = 3; + initrd.verbose = false; + initrd.systemd.enable = true; + kernelParams = [ + "quiet" + "splash" + "intremap=on" + "boot.shell_on_fail" + "udev.log_priority=3" + "rd.systemd.show_status=auto" + ]; + + # plymouth, showing after LUKS unlock + plymouth.enable = true; + plymouth.font = "${pkgs.hack-font}/share/fonts/truetype/Hack-Regular.ttf"; + plymouth.logo = "${pkgs.nixos-icons}/share/icons/hicolor/128x128/apps/nix-snowflake.png"; + }; +} diff --git a/configuration.nix b/modules/configuration.nix similarity index 85% rename from configuration.nix rename to modules/configuration.nix index 619467a..de54715 100644 --- a/configuration.nix +++ b/modules/configuration.nix @@ -10,10 +10,36 @@ #Nix flake file limit: ulimit -n 500000 -{ config, pkgs, lib, username, version, ... }: +{ inputs, config, pkgs, lib, username, host, version, system, ... }: { -# stylix.enable = true; -# stylix.image = /etc/nixos/other/wallpaper.png; + stylix = { + enable = false; + image = ../other/wallpaper2.png; + #autoEnable = true; #Auto generate theme based on wallpaper + base16Scheme = "${pkgs.base16-schemes}/share/themes/tokyo-night-moon.yaml"; + opacity = { + desktop = 0.5; + terminal = 0.9; + }; + fonts = { + monospace = { + package = pkgs.nerd-fonts.jetbrains-mono; + name = "JetBrainsMono Nerd Font"; + }; + + sansSerif = { + package = pkgs.inter; + name = "Inter"; + }; + + serif = { + package = pkgs.noto-fonts; + name = "Noto Serif"; + }; + }; + targets.grub.enable = false; + }; + # in configuration.nix #Assign Swap to the PC #swapDevices = [{ @@ -23,6 +49,7 @@ imports = [ + inputs.home-manager.nixosModules.home-manager ./hardware-configuration.nix ]; @@ -30,7 +57,7 @@ "plasma" = { configuration = { imports = [ - ./plasma/plasma.nix + ../plasma/plasma.nix ]; programs.gamemode.enable = true; @@ -40,7 +67,7 @@ "hyprland" = { configuration = { imports = [ - ./hyprland/hyprland.nix + ../hyprland/hyprland.nix ]; }; }; @@ -68,8 +95,10 @@ #devices = [ "nodev" ]; efiSupport = true; useOSProber = true; + #splashImage = }; + grub2-theme = { enable = true; theme = "whitesur"; @@ -84,7 +113,7 @@ #Apply #Manage flags -> Add bios_grub - networking.hostName = "nixos"; + networking.hostName = host; # Define your hostname. # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. @@ -92,6 +121,15 @@ # networking.proxy.default = "http://user:password@proxy:port/"; # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + users.${username} = ./home.nix; + backupFileExtension = "backup"; # Automatically backs up conflicting files during activation + extraSpecialArgs = { inherit inputs username version system host; }; + sharedModules = [ inputs.plasma-manager.homeModules.plasma-manager ]; + }; + # Enable networking networking.networkmanager.enable = true; @@ -219,7 +257,7 @@ # services.xserver.libinput.enable = true; # Define a user account. Don't forget to set a password with ‘passwd’. - users.users.cookiez = { + users.users.${username} = { isNormalUser = true; description = "Cookiez"; extraGroups = [ "networkmanager" "wheel" "docker" ]; diff --git a/modules/default.nix b/modules/default.nix new file mode 100644 index 0000000..2bcb401 --- /dev/null +++ b/modules/default.nix @@ -0,0 +1,11 @@ +{ ... }: +{ + imports = [ + ./configuration.nix + ./firefox.nix + ./boot-splash.nix + ./zsh.nix + ./neovim.nix + ./packages.nix + ]; +} diff --git a/desktop-entries.nix b/modules/desktop-entries.nix similarity index 100% rename from desktop-entries.nix rename to modules/desktop-entries.nix diff --git a/firefox.nix b/modules/firefox.nix similarity index 100% rename from firefox.nix rename to modules/firefox.nix diff --git a/hardware-configuration.nix b/modules/hardware-configuration.nix similarity index 100% rename from hardware-configuration.nix rename to modules/hardware-configuration.nix diff --git a/home.nix b/modules/home.nix similarity index 95% rename from home.nix rename to modules/home.nix index a843b7a..fd5d968 100644 --- a/home.nix +++ b/modules/home.nix @@ -1,9 +1,12 @@ -{ lib, inputs, config, pkgs, username, version, ... }: +{ lib, inputs, config, pkgs, username, host, version, ... }: { # Home Manager needs a bit of information about you and the # paths it should manage. home.username = username; home.homeDirectory = "/home/${username}"; + home.packages = [ + (import ./ncli.nix { inherit pkgs host; backupFiles = [ ".config/mimeapps.list.backup" ]; }) + ]; imports = [ inputs.zen-browser.homeModules.beta @@ -31,6 +34,7 @@ kitty = { enable = true; settings = { + #Disabled Because of stylix background_opacity = "0.2"; #The higher the value, the darker the console background_blur = 10; diff --git a/minimal.nix b/modules/minimal.nix similarity index 100% rename from minimal.nix rename to modules/minimal.nix diff --git a/modules/ncli.nix b/modules/ncli.nix new file mode 100644 index 0000000..a4ec7af --- /dev/null +++ b/modules/ncli.nix @@ -0,0 +1,204 @@ +{ + pkgs, + host, + backupFiles ? [".config/mimeapps.list.backup"], + ... +}: let + backupFilesString = pkgs.lib.strings.concatStringsSep " " backupFiles; +in + pkgs.writeShellScriptBin "ncli" '' + #!${pkgs.bash}/bin/bash + set -euo pipefail + + # --- Configuration --- + PROJECT="NixOS" + HOST="${host}" + BACKUP_FILES_STR="${backupFilesString}" + VERSION="2.0.0" + FLAKE_NIX_PATH="$HOME/$PROJECT/flake.nix" + + read -r -a BACKUP_FILES <<< "$BACKUP_FILES_STR" + + # --- Helper Functions --- + print_help() { + echo "NixOS CLI Utility -- version $VERSION" + echo "" + echo "Usage: ncli [command]" + echo "" + echo "System Commands:" + echo " rebuild - Rebuild the NixOS system configuration." + echo " update - Update the flake and rebuild the system." + echo "" + echo "Maintenance Commands:" + echo " cleanup - Clean up old system generations. Can specify a number to keep." + echo " diag - Create a system diagnostic report (saves to ~/diag.txt)." + echo " list-gens - List user and system generations." + echo " trim - Trim filesystems to improve SSD performance." + echo "" + echo "Git Commands:" + echo " commit [msg] - Add all changes and commit with message." + echo " push - Push changes to origin." + echo " pull - Pull latest changes from origin." + echo " status - Show git status." + echo "" + echo " help - Show this help message." + echo "" + } + + handle_backups() { + if [ ''${#BACKUP_FILES[@]} -eq 0 ]; then + echo "No backup files configured to check." + return + fi + + echo "Checking for backup files to remove..." + for file_path in "''${BACKUP_FILES[@]}"; do + full_path="$HOME/$file_path" + if [ -f "$full_path" ]; then + echo "Removing stale backup file: $full_path" + rm "$full_path" + fi + done + } + + # --- Main Logic --- + if [ "$#" -eq 0 ]; then + echo "Error: No command provided." >&2 + print_help + exit 1 + fi + + case "$1" in + cleanup) + echo "Warning! This will remove old generations of your system." + read -p "How many generations to keep (default: all)? " keep_count + + if [ -z "$keep_count" ]; then + read -p "This will remove all but the current generation. Continue (y/N)? " -n 1 -r + echo + if [[ $REPLY =~ ^[Yy]$ ]]; then + nh clean all -v + else + echo "Cleanup cancelled." + fi + else + read -p "This will keep the last $keep_count generations. Continue (y/N)? " -n 1 -r + echo + if [[ $REPLY =~ ^[Yy]$ ]]; then + nh clean all -k "$keep_count" -v + else + echo "Cleanup cancelled." + fi + fi + + LOG_DIR="$HOME/ncli-cleanup-logs" + mkdir -p "$LOG_DIR" + LOG_FILE="$LOG_DIR/ncli-cleanup-$(date +%Y-%m-%d_%H-%M-%S).log" + echo "Cleaning up old log files..." >> "$LOG_FILE" + find "$LOG_DIR" -type f -mtime +3 -name "*.log" -delete >> "$LOG_FILE" 2>&1 + echo "Cleanup process logged to $LOG_FILE" + ;; + diag) + echo "Generating system diagnostic report..." + { + echo "=== NixOS System Diagnostic Report ===" + echo "Generated: $(date)" + echo "" + echo "=== System Information ===" + inxi --full 2>/dev/null || echo "inxi not available" + echo "" + echo "=== Git Status ===" + cd "$HOME/$PROJECT" 2>/dev/null && git status 2>/dev/null || echo "Git status not available" + echo "" + } > "$HOME/diag.txt" + echo "Diagnostic report saved to $HOME/diag.txt" + ;; + help) + print_help + ;; + list-gens) + echo "--- User Generations ---" + nix-env --list-generations | cat || echo "Could not list user generations." + echo "" + echo "--- System Generations ---" + nix profile history --profile /nix/var/nix/profiles/system | cat || echo "Could not list system generations." + ;; + rebuild) + handle_backups + echo "Starting NixOS rebuild for current host: $HOST" + cd "$HOME/$PROJECT" || { echo "Error: Could not change to $HOME/$PROJECT"; exit 1; } + if sudo nixos-rebuild switch --flake ".#$HOST"; then + echo "✓ Rebuild finished successfully for $HOST" + else + echo "✗ Rebuild failed for $HOST" >&2 + exit 1 + fi + ;; + update) + handle_backups + echo "Updating flake and rebuilding system for current host: $HOST" + cd "$HOME/$PROJECT" || { echo "Error: Could not change to $HOME/$PROJECT"; exit 1; } + + echo "Updating flake..." + if nix flake update; then + echo "✓ Flake updated successfully" + else + echo "✗ Flake update failed" >&2 + exit 1 + fi + + echo "Rebuilding system..." + if sudo nixos-rebuild switch --flake ".#$HOST"; then + echo "✓ Update and rebuild finished successfully for $HOST" + else + echo "✗ Update and rebuild failed for $HOST" >&2 + exit 1 + fi + ;; + commit) + cd "$HOME/$PROJECT" || { echo "Error: Could not change to $HOME/$PROJECT"; exit 1; } + if [ "$#" -lt 2 ]; then + read -p "Enter commit message: " commit_msg + else + shift + commit_msg="$*" + fi + + if [ -z "$commit_msg" ]; then + echo "Error: Commit message cannot be empty" >&2 + exit 1 + fi + + git add -A && git commit -m "$commit_msg" + ;; + push) + cd "$HOME/$PROJECT" || { echo "Error: Could not change to $HOME/$PROJECT"; exit 1; } + git push origin $(git branch --show-current) + ;; + pull) + cd "$HOME/$PROJECT" || { echo "Error: Could not change to $HOME/$PROJECT"; exit 1; } + git pull origin $(git branch --show-current) + ;; + status) + cd "$HOME/$PROJECT" || { echo "Error: Could not change to $HOME/$PROJECT"; exit 1; } + git status + ;; + trim) + echo "Running 'sudo fstrim -v /' may take a few minutes and impact system performance." + read -p "Enter (y/Y) to run now or enter to exit (y/N): " -n 1 -r + echo # move to a new line + if [[ $REPLY =~ ^[Yy]$ ]]; then + echo "Running fstrim..." + sudo fstrim -v / + echo "fstrim complete." + else + echo "Trim operation cancelled." + fi + ;; + *) + echo "Error: Invalid command '$1'" >&2 + print_help + exit 1 + ;; + esac + '' diff --git a/neovim-home.nix b/modules/neovim-home.nix similarity index 100% rename from neovim-home.nix rename to modules/neovim-home.nix diff --git a/neovim.nix b/modules/neovim.nix similarity index 100% rename from neovim.nix rename to modules/neovim.nix diff --git a/packages.nix b/modules/packages.nix similarity index 100% rename from packages.nix rename to modules/packages.nix diff --git a/zsh.nix b/modules/zsh.nix similarity index 67% rename from zsh.nix rename to modules/zsh.nix index e6c0dd2..f682b7c 100644 --- a/zsh.nix +++ b/modules/zsh.nix @@ -3,19 +3,18 @@ enable = true; ohMyZsh = { - enable = true; - plugins = [ "git" ]; + enable = true; + plugins = [ "git" ]; }; shellInit = '' - source /etc/nixos/other/aliases - ''; - + source /etc/nixos/other/aliases + ''; #To reset powerlevel10k, write 'p10k configure' in shell! promptInit = '' - source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme - ''; + source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme + ''; }; users.users.cookiez.shell = pkgs.zsh; diff --git a/plasma/autostart.nix b/plasma/autostart.nix index 5f0e54a..06ae83e 100644 --- a/plasma/autostart.nix +++ b/plasma/autostart.nix @@ -4,7 +4,7 @@ #To show logs of services run: journalctl --user-unit={service-name} --user systemd.user.services.set-wallpaper = { - enable = true; + enable = false; description = "Set KDE Plasma wallpaper"; #after = [ "plasma-desktop.service" ]; wantedBy = [ "graphical-session.target" ]; diff --git a/plasma/plasma-home.nix b/plasma/plasma-home.nix index 017da13..949e815 100644 --- a/plasma/plasma-home.nix +++ b/plasma/plasma-home.nix @@ -1,9 +1,441 @@ -{pkgs, inputs, ...}: +{pkgs, inputs, username, ...}: { imports = [ ]; programs = { + plasma = { + enable = true; + overrideConfig = true; + + panels = [ + { + height = 38; + location = "top"; + alignment = "center"; + floating = true; + opacity = "translucent"; + widgets = [ + "org.kde.plasma.kickoff" + "org.kde.plasma.panelspacer" + "org.kde.plasma.systemmonitor.cpu" + "org.kde.plasma.digitalclock" + ]; + } + { + height = 65; + location = "bottom"; + alignment = "center"; + lengthMode = "fit"; + floating = true; + opacity = "translucent"; + hiding = "dodgewindows"; + widgets = [ + { + name = "org.kde.plasma.icontasks"; + config = { + General = { + launchers = [ + # optional pinned apps + "kitty.desktop" + "firefox.desktop" + "org.kde.dolphin.desktop" + ]; + }; + }; + } + ]; + } + ]; + + shortcuts = { +# ActivityManager.switch-to-activity-0f8d8349-5b1b-4b77-bfa5-22829bfaf459 = [ ]; +# ActivityManager.switch-to-activity-7dbb43d7-7e06-4b20-907c-a1dbf4afe6c7 = [ ]; +# ActivityManager.switch-to-activity-e85f493f-046d-4dca-9e07-987ecd4ca4bc = [ ]; +# "KDE Keyboard Layout Switcher"."Switch keyboard layout to English (US)" = [ ]; +# "KDE Keyboard Layout Switcher"."Switch keyboard layout to German" = [ ]; +# "KDE Keyboard Layout Switcher"."Switch to Last-Used Keyboard Layout" = [ ]; +# "KDE Keyboard Layout Switcher"."Switch to Next Keyboard Layout" = [ ]; +# kaccess."Toggle Screen Reader On and Off" = "Meta+Alt+S"; +# kcm_touchpad."Disable Touchpad" = "Touchpad Off"; +# kcm_touchpad."Enable Touchpad" = "Touchpad On"; +# kcm_touchpad."Toggle Touchpad" = ["Touchpad Toggle" "Meta+Ctrl+Zenkaku Hankaku"]; +# kmix.decrease_microphone_volume = "Microphone Volume Down"; +# kmix.decrease_volume = "Volume Down"; +# kmix.decrease_volume_small = "Shift+Volume Down"; +# kmix.increase_microphone_volume = "Microphone Volume Up"; +# kmix.increase_volume = "Volume Up"; +# kmix.increase_volume_small = "Shift+Volume Up"; +# kmix.mic_mute = ["Microphone Mute" "Meta+Volume Mute"]; +# kmix.mute = "Volume Mute"; +# ksmserver."Halt Without Confirmation" = [ ]; +# ksmserver."Lock Session" = ["Meta+L" "Screensaver"]; +# ksmserver."Log Out" = "Ctrl+Alt+Del"; +# ksmserver."Log Out Without Confirmation" = [ ]; +# ksmserver.LogOut = [ ]; +# ksmserver.Reboot = [ ]; +# ksmserver."Reboot Without Confirmation" = [ ]; +# ksmserver."Shut Down" = [ ]; +# kwin."Activate Window Demanding Attention" = "Meta+Ctrl+A"; + kwin.Cube = "Meta+C"; +# kwin."Cycle Overview" = [ ]; +# kwin."Cycle Overview Opposite" = [ ]; +# kwin."Decrease Opacity" = [ ]; +# kwin."Edit Tiles" = "Meta+T"; +# kwin.Expose = "Ctrl+F9"; +# kwin.ExposeAll = ["Ctrl+F10" "Launch (C)"]; +# kwin.ExposeClass = "Ctrl+F7"; +# kwin.ExposeClassCurrentDesktop = [ ]; + kwin."Grid View" = "Meta+G"; +# kwin."Increase Opacity" = [ ]; +# kwin."Kill Window" = "Meta+Ctrl+Esc"; +# kwin."Move Tablet to Next Output" = [ ]; +# kwin.MoveMouseToCenter = "Meta+F6"; +# kwin.MoveMouseToFocus = "Meta+F5"; +# kwin.MoveZoomDown = [ ]; +# kwin.MoveZoomLeft = [ ]; +# kwin.MoveZoomRight = [ ]; +# kwin.MoveZoomUp = [ ]; +# kwin.Overview = "Meta+W"; +# kwin."Setup Window Shortcut" = [ ]; +# kwin."Show Desktop" = "Meta+D"; +# kwin."Suspend Compositing" = "Alt+Shift+F12"; + kwin."Switch One Desktop Down" = "Meta+Ctrl+Down"; + kwin."Switch One Desktop Up" = "Meta+Ctrl+Up"; + kwin."Switch One Desktop to the Left" = "Meta+Ctrl+Left"; + kwin."Switch One Desktop to the Right" = "Meta+Ctrl+Right"; +# kwin."Switch Window Down" = "Meta+Alt+Down"; +# kwin."Switch Window Left" = "Meta+Alt+Left"; +# kwin."Switch Window Right" = "Meta+Alt+Right"; +# kwin."Switch Window Up" = "Meta+Alt+Up"; +# kwin."Switch to Desktop 1" = "Ctrl+F1"; +# kwin."Switch to Desktop 10" = [ ]; +# kwin."Switch to Desktop 11" = [ ]; +# kwin."Switch to Desktop 12" = [ ]; +# kwin."Switch to Desktop 13" = [ ]; +# kwin."Switch to Desktop 14" = [ ]; +# kwin."Switch to Desktop 15" = [ ]; +# kwin."Switch to Desktop 16" = [ ]; +# kwin."Switch to Desktop 17" = [ ]; +# kwin."Switch to Desktop 18" = [ ]; +# kwin."Switch to Desktop 19" = [ ]; +# kwin."Switch to Desktop 2" = "Ctrl+F2"; +# kwin."Switch to Desktop 20" = [ ]; +# kwin."Switch to Desktop 3" = "Ctrl+F3"; +# kwin."Switch to Desktop 4" = "Ctrl+F4"; +# kwin."Switch to Desktop 5" = [ ]; +# kwin."Switch to Desktop 6" = [ ]; +# kwin."Switch to Desktop 7" = [ ]; +# kwin."Switch to Desktop 8" = [ ]; +# kwin."Switch to Desktop 9" = [ ]; +# kwin."Switch to Next Desktop" = [ ]; +# kwin."Switch to Next Screen" = [ ]; +# kwin."Switch to Previous Desktop" = [ ]; +# kwin."Switch to Previous Screen" = [ ]; +# kwin."Switch to Screen 0" = [ ]; +# kwin."Switch to Screen 1" = [ ]; +# kwin."Switch to Screen 2" = [ ]; +# kwin."Switch to Screen 3" = [ ]; +# kwin."Switch to Screen 4" = [ ]; +# kwin."Switch to Screen 5" = [ ]; +# kwin."Switch to Screen 6" = [ ]; +# kwin."Switch to Screen 7" = [ ]; +# kwin."Switch to Screen Above" = [ ]; +# kwin."Switch to Screen Below" = [ ]; +# kwin."Switch to Screen to the Left" = [ ]; +# kwin."Switch to Screen to the Right" = [ ]; +# kwin."Toggle Night Color" = [ ]; +# kwin."Toggle Window Raise/Lower" = [ ]; +# kwin."Walk Through Windows" = "Alt+Tab"; +# kwin."Walk Through Windows (Reverse)" = "Alt+Shift+Tab"; +# kwin."Walk Through Windows Alternative" = [ ]; +# kwin."Walk Through Windows Alternative (Reverse)" = [ ]; +# kwin."Walk Through Windows of Current Application" = "Alt+`"; +# kwin."Walk Through Windows of Current Application (Reverse)" = "Alt+~"; +# kwin."Walk Through Windows of Current Application Alternative" = [ ]; +# kwin."Walk Through Windows of Current Application Alternative (Reverse)" = [ ]; +# kwin."Window Above Other Windows" = [ ]; +# kwin."Window Below Other Windows" = [ ]; + kwin."Window Close" = "Alt+F4"; +# kwin."Window Custom Quick Tile Bottom" = [ ]; +# kwin."Window Custom Quick Tile Left" = [ ]; +# kwin."Window Custom Quick Tile Right" = [ ]; +# kwin."Window Custom Quick Tile Top" = [ ]; + kwin."Window Fullscreen" = "Meta+Shift+F"; +# kwin."Window Grow Horizontal" = [ ]; +# kwin."Window Grow Vertical" = [ ]; +# kwin."Window Lower" = [ ]; + kwin."Window Maximize" = ["Meta+F" "Meta+PgUp"]; +# kwin."Window Maximize Horizontal" = [ ]; +# kwin."Window Maximize Vertical" = [ ]; +# kwin."Window Minimize" = "Meta+PgDown"; +# kwin."Window Move" = [ ]; +# kwin."Window Move Center" = [ ]; +# kwin."Window No Border" = [ ]; +# kwin."Window On All Desktops" = [ ]; + kwin."Window One Desktop Down" = "Meta+Ctrl+Shift+Down"; + kwin."Window One Desktop Up" = "Meta+Ctrl+Shift+Up"; + kwin."Window One Desktop to the Left" = "Meta+Ctrl+Shift+Left"; + kwin."Window One Desktop to the Right" = "Meta+Ctrl+Shift+Right"; +# kwin."Window One Screen Down" = [ ]; +# kwin."Window One Screen Up" = [ ]; +# kwin."Window One Screen to the Left" = [ ]; +# kwin."Window One Screen to the Right" = [ ]; +# kwin."Window Operations Menu" = "Alt+F3"; +# kwin."Window Pack Down" = [ ]; +# kwin."Window Pack Left" = [ ]; +# kwin."Window Pack Right" = [ ]; +# kwin."Window Pack Up" = [ ]; +# kwin."Window Quick Tile Bottom" = "Meta+Down"; +# kwin."Window Quick Tile Bottom Left" = [ ]; +# kwin."Window Quick Tile Bottom Right" = [ ]; +# kwin."Window Quick Tile Left" = "Meta+Left"; +# kwin."Window Quick Tile Right" = "Meta+Right"; +# kwin."Window Quick Tile Top" = "Meta+Up"; +# kwin."Window Quick Tile Top Left" = [ ]; +# kwin."Window Quick Tile Top Right" = [ ]; +# kwin."Window Raise" = [ ]; +# kwin."Window Resize" = [ ]; +# kwin."Window Shade" = [ ]; +# kwin."Window Shrink Horizontal" = [ ]; +# kwin."Window Shrink Vertical" = [ ]; +# kwin."Window to Desktop 1" = [ ]; +# kwin."Window to Desktop 10" = [ ]; +# kwin."Window to Desktop 11" = [ ]; +# kwin."Window to Desktop 12" = [ ]; +# kwin."Window to Desktop 13" = [ ]; +# kwin."Window to Desktop 14" = [ ]; +# kwin."Window to Desktop 15" = [ ]; +# kwin."Window to Desktop 16" = [ ]; +# kwin."Window to Desktop 17" = [ ]; +# kwin."Window to Desktop 18" = [ ]; +# kwin."Window to Desktop 19" = [ ]; +# kwin."Window to Desktop 2" = [ ]; +# kwin."Window to Desktop 20" = [ ]; +# kwin."Window to Desktop 3" = [ ]; +# kwin."Window to Desktop 4" = [ ]; +# kwin."Window to Desktop 5" = [ ]; +# kwin."Window to Desktop 6" = [ ]; +# kwin."Window to Desktop 7" = [ ]; +# kwin."Window to Desktop 8" = [ ]; +# kwin."Window to Desktop 9" = [ ]; +# kwin."Window to Next Desktop" = [ ]; +# kwin."Window to Next Screen" = "Meta+Shift+Right"; +# kwin."Window to Previous Desktop" = [ ]; +# kwin."Window to Previous Screen" = "Meta+Shift+Left"; +# kwin."Window to Screen 0" = [ ]; +# kwin."Window to Screen 1" = [ ]; +# kwin."Window to Screen 2" = [ ]; +# kwin."Window to Screen 3" = [ ]; +# kwin."Window to Screen 4" = [ ]; +# kwin."Window to Screen 5" = [ ]; +# kwin."Window to Screen 6" = [ ]; +# kwin."Window to Screen 7" = [ ]; +# kwin.disableInputCapture = "Meta+Shift+Esc"; +# kwin.view_actual_size = "Meta+0"; +# kwin.view_zoom_in = ["Meta++" "Meta+="]; +# kwin.view_zoom_out = "Meta+-"; +# mediacontrol.mediavolumedown = [ ]; +# mediacontrol.mediavolumeup = [ ]; +# mediacontrol.nextmedia = "Media Next"; +# mediacontrol.pausemedia = "Media Pause"; +# mediacontrol.playmedia = [ ]; +# mediacontrol.playpausemedia = "Media Play"; +# mediacontrol.previousmedia = "Media Previous"; +# mediacontrol.stopmedia = "Media Stop"; +# org_kde_powerdevil."Decrease Keyboard Brightness" = "Keyboard Brightness Down"; +# org_kde_powerdevil."Decrease Screen Brightness" = "Monitor Brightness Down"; +# org_kde_powerdevil."Decrease Screen Brightness Small" = "Shift+Monitor Brightness Down"; +# org_kde_powerdevil.Hibernate = "Hibernate"; +# org_kde_powerdevil."Increase Keyboard Brightness" = "Keyboard Brightness Up"; +# org_kde_powerdevil."Increase Screen Brightness" = "Monitor Brightness Up"; +# org_kde_powerdevil."Increase Screen Brightness Small" = "Shift+Monitor Brightness Up"; +# org_kde_powerdevil.PowerDown = "Power Down"; +# org_kde_powerdevil.PowerOff = "Power Off"; +# org_kde_powerdevil.Sleep = "Sleep"; +# org_kde_powerdevil."Toggle Keyboard Backlight" = "Keyboard Light On/Off"; +# org_kde_powerdevil."Turn Off Screen" = [ ]; + org_kde_powerdevil.powerProfile = ["Battery" "Meta+B"]; + plasmashell."activate application launcher" = "Meta"; +# plasmashell."activate task manager entry 1" = "Meta+1"; +# plasmashell."activate task manager entry 10" = [ ]; +# plasmashell."activate task manager entry 2" = "Meta+2"; +# plasmashell."activate task manager entry 3" = "Meta+3"; +# plasmashell."activate task manager entry 4" = "Meta+4"; +# plasmashell."activate task manager entry 5" = "Meta+5"; +# plasmashell."activate task manager entry 6" = "Meta+6"; +# plasmashell."activate task manager entry 7" = "Meta+7"; +# plasmashell."activate task manager entry 8" = "Meta+8"; +# plasmashell."activate task manager entry 9" = "Meta+9"; +# plasmashell.clear-history = [ ]; +# plasmashell.clipboard_action = "Meta+Ctrl+X"; +# plasmashell.cycle-panels = "Meta+Alt+P"; +# plasmashell.cycleNextAction = [ ]; +# plasmashell.cyclePrevAction = [ ]; +# plasmashell."manage activities" = "Meta+Q"; +# plasmashell."next activity" = "Meta+A"; +# plasmashell."previous activity" = "Meta+Shift+A"; +# plasmashell.repeat_action = "Meta+Ctrl+R"; +# plasmashell."show dashboard" = "Ctrl+F12"; +# plasmashell.show-barcode = [ ]; +# plasmashell.show-on-mouse-pos = "Meta+V"; +# plasmashell."stop current activity" = "Meta+S"; +# plasmashell."switch to next activity" = [ ]; +# plasmashell."switch to previous activity" = [ ]; +# plasmashell."toggle do not disturb" = [ ]; +# "services/org.kde.plasma-systemmonitor.desktop"._launch = [ ]; +# "services/org.kde.spectacle.desktop".RecordWindow = [ ]; +# "services/org.kde.spectacle.desktop".RectangularRegionScreenShot = ["Meta+Shift+Print" "Meta+Shift+S"]; +# "services/org.kde.spectacle.desktop"._launch = "Print"; +# wacomtablet."Map to fullscreen" = "Meta+Ctrl+F"; +# wacomtablet."Map to screen 1" = "Meta+Ctrl+1"; +# wacomtablet."Map to screen 2" = "Meta+Ctrl+2"; +# wacomtablet."Next Profile" = "Meta+Ctrl+N"; +# wacomtablet."Previous Profile" = "Meta+Ctrl+P"; +# wacomtablet."Toggle screen map selection" = "Meta+Ctrl+M"; +# wacomtablet."Toggle stylus mode" = "Meta+Ctrl+S"; +# wacomtablet."Toggle touch tool" = "Meta+Ctrl+T"; + yakuake.toggle-window-state = "Meta+F12"; + }; + workspace = { + theme = "WhiteSur-dark"; + colorScheme = "BreezeDark"; + cursor = { + theme = "Breeze_Light"; + size = 24; + }; + wallpaper = /home/${username}/NixOS/other/wallpaper2.png; + soundTheme = "freedesktop"; + iconTheme = "Breeze-LaCapitaine-apps"; + splashScreen = { + theme = "a2n.kuro"; + }; + windowDecorations = { + library = "org.kde.kwin.aurorae"; + theme = "__aurorae__svg__Nordic"; + }; + }; + configFile = { +# baloofilerc.General.dbVersion = 2; +# baloofilerc.General."exclude filters" = "*~,*.part,*.o,*.la,*.lo,*.loT,*.moc,moc_*.cpp,qrc_*.cpp,ui_*.h,cmake_install.cmake,CMakeCache.txt,CTestTestfile.cmake,libtool,config.status,confdefs.h,autom4te,conftest,confstat,Makefile.am,*.gcode,.ninja_deps,.ninja_log,build.ninja,*.csproj,*.m4,*.rej,*.gmo,*.pc,*.omf,*.aux,*.tmp,*.po,*.vm*,*.nvram,*.rcore,*.swp,*.swap,lzo,litmain.sh,*.orig,.histfile.*,.xsession-errors*,*.map,*.so,*.a,*.db,*.qrc,*.ini,*.init,*.img,*.vdi,*.vbox*,vbox.log,*.qcow2,*.vmdk,*.vhd,*.vhdx,*.sql,*.sql.gz,*.ytdl,*.tfstate*,*.class,*.pyc,*.pyo,*.elc,*.qmlc,*.jsc,*.fastq,*.fq,*.gb,*.fasta,*.fna,*.gbff,*.faa,po,CVS,.svn,.git,_darcs,.bzr,.hg,CMakeFiles,CMakeTmp,CMakeTmpQmake,.moc,.obj,.pch,.uic,.npm,.yarn,.yarn-cache,__pycache__,node_modules,node_packages,nbproject,.terraform,.venv,venv,core-dumps,lost+found"; +# baloofilerc.General."exclude filters version" = 9; + dolphinrc.General.RememberOpenedTabs = false; +# dolphinrc.General.ViewPropsTimestamp = "2024,8,12,15,7,43.15"; +# dolphinrc.IconsMode.PreviewSize = 80; +# dolphinrc."KFileDialog Settings"."Places Icons Auto-resize" = false; +# dolphinrc."KFileDialog Settings"."Places Icons Static Size" = 22; +# dolphinrc.PreviewSettings.Plugins = "appimagethumbnail,audiothumbnail,avif,comicbookthumbnail,cursorthumbnail,djvuthumbnail,ebookthumbnail,exrthumbnail,directorythumbnail,fontthumbnail,imagethumbnail,jpegthumbnail,jxl,kraorathumbnail,windowsexethumbnail,windowsimagethumbnail,opendocumentthumbnail,gdk-pixbuf-thumbnailer,svgthumbnail"; +# kactivitymanagerdrc.activities.e85f493f-046d-4dca-9e07-987ecd4ca4bc = "Default"; +# kactivitymanagerdrc.main.currentActivity = "e85f493f-046d-4dca-9e07-987ecd4ca4bc"; +# katerc.General."Days Meta Infos" = 30; +# katerc.General."Save Meta Infos" = true; +# katerc.General."Show Full Path in Title" = false; +# katerc.General."Show Menu Bar" = true; +# katerc.General."Show Status Bar" = true; +# katerc.General."Show Tab Bar" = true; +# katerc.General."Show Url Nav Bar" = true; +# katerc."KTextEditor Renderer"."Animate Bracket Matching" = false; +# katerc."KTextEditor Renderer"."Auto Color Theme Selection" = true; +# katerc."KTextEditor Renderer"."Color Theme" = "Breeze Dark"; +# katerc."KTextEditor Renderer"."Line Height Multiplier" = 1; +# katerc."KTextEditor Renderer"."Show Indentation Lines" = false; +# katerc."KTextEditor Renderer"."Show Whole Bracket Expression" = false; +# katerc."KTextEditor Renderer"."Text Font" = "Hack,10,-1,7,400,0,0,0,0,0,0,0,0,0,0,1"; +# katerc."KTextEditor Renderer"."Text Font Features" = ""; +# katerc."KTextEditor Renderer"."Word Wrap Marker" = false; +# katerc."KTextEditor::Search"."Search History" = "availabilityDomain,subnetId"; +# katerc.filetree.editShade = "31,81,106"; +# katerc.filetree.listMode = false; +# katerc.filetree.middleClickToClose = false; +# katerc.filetree.shadingEnabled = true; +# katerc.filetree.showCloseButton = false; +# katerc.filetree.showFullPathOnRoots = false; +# katerc.filetree.showToolbar = true; +# katerc.filetree.sortRole = 0; +# katerc.filetree.viewShade = "81,49,95"; + kcminputrc."Libinput/1133/16529/Logitech Wireless Mouse".PointerAcceleration = "0"; + kcminputrc.Mouse.X11LibInputXAccelProfileFlat = true; + kcminputrc.Mouse.XLbInptPointerAcceleration = 0; +# kcminputrc.Mouse.cursorTheme = "Breeze_Light"; +# kded5rc.Module-browserintegrationreminder.autoload = false; +# kded5rc.Module-device_automounter.autoload = false; +# kdeglobals."DirSelect Dialog"."DirSelectDialog Size" = "960,540"; +# kdeglobals.Icons.Theme = "Breeze-LaCapitaine-apps"; +# kdeglobals.KDE.ShowDeleteCommand = false; +# kdeglobals.KDE.widgetStyle = "Breeze"; +# kdeglobals."KFileDialog Settings"."Allow Expansion" = false; +# kdeglobals."KFileDialog Settings"."Automatically select filename extension" = true; +# kdeglobals."KFileDialog Settings"."Breadcrumb Navigation" = false; +# kdeglobals."KFileDialog Settings"."Decoration position" = 2; +# kdeglobals."KFileDialog Settings"."LocationCombo Completionmode" = 5; +# kdeglobals."KFileDialog Settings"."PathCombo Completionmode" = 5; +# kdeglobals."KFileDialog Settings"."Show Bookmarks" = false; +# kdeglobals."KFileDialog Settings"."Show Full Path" = false; +# kdeglobals."KFileDialog Settings"."Show Inline Previews" = true; +# kdeglobals."KFileDialog Settings"."Show Preview" = false; +# kdeglobals."KFileDialog Settings"."Show Speedbar" = true; +# kdeglobals."KFileDialog Settings"."Show hidden files" = false; +# kdeglobals."KFileDialog Settings"."Sort by" = "Name"; +# kdeglobals."KFileDialog Settings"."Sort directories first" = true; +# kdeglobals."KFileDialog Settings"."Sort hidden files last" = false; +# kdeglobals."KFileDialog Settings"."Sort reversed" = true; +# kdeglobals."KFileDialog Settings"."Speedbar Width" = 147; +# kdeglobals."KFileDialog Settings"."View Style" = "DetailTree"; +# kdeglobals."KShortcutsDialog Settings"."Dialog Size" = "600,480"; +# kdeglobals.PreviewSettings.EnableRemoteFolderThumbnail = false; +# kdeglobals.PreviewSettings.MaximumRemoteSize = 0; +# kdeglobals.Sounds.Theme = "freedesktop"; +# kdeglobals.WM.activeBackground = "49,54,59"; +# kdeglobals.WM.activeBlend = "252,252,252"; +# kdeglobals.WM.activeForeground = "252,252,252"; +# kdeglobals.WM.inactiveBackground = "42,46,50"; +# kdeglobals.WM.inactiveBlend = "161,169,177"; +# kdeglobals.WM.inactiveForeground = "161,169,177"; +# kiorc.Confirmations.ConfirmDelete = true; + kscreenlockerrc.Daemon.Autolock = false; + kscreenlockerrc.Daemon.Timeout = 0; +# kscreenlockerrc."Greeter/Wallpaper/org.kde.image/General".Image = "/usr/share/wallpapers/ScarletTree/"; +# kscreenlockerrc."Greeter/Wallpaper/org.kde.image/General".PreviewImage = "/usr/share/wallpapers/ScarletTree/"; +# ksmserverrc.General.loginMode = "emptySession"; +# ksplashrc.KSplash.Theme = "a2n.kuro"; +# kwalletrc.Wallet."First Use" = false; +# kwinrc."Activities/LastVirtualDesktop"."0f8d8349-5b1b-4b77-bfa5-22829bfaf459" = "4a2f44cc-dfe7-45dc-8439-fe34a6866d37"; +# kwinrc."Activities/LastVirtualDesktop".e85f493f-046d-4dca-9e07-987ecd4ca4bc = "4a2f44cc-dfe7-45dc-8439-fe34a6866d37"; +# kwinrc.Desktops.Id_1 = "4a2f44cc-dfe7-45dc-8439-fe34a6866d37"; +# kwinrc.Desktops.Id_2 = "fc5cf4ff-2e08-4059-ac1f-7c5540efa4fc"; +# kwinrc.Desktops.Id_3 = "375e6952-2ebc-473c-bd50-58090b95b184"; +# kwinrc.Desktops.Id_4 = "6cf07176-c30b-401a-b7f4-cf63067a7191"; + kwinrc.Desktops.Number = 4; + kwinrc.Desktops.Rows = 2; +# kwinrc.Effect-overview.BorderActivate = 9; + kwinrc.Effect-wobblywindows.AdvancedMode = true; + kwinrc.Effect-wobblywindows.Stiffness = 25; + kwinrc.NightColor.Active = true; +# kwinrc.NightColor.LatitudeAuto = 49.49; +# kwinrc.NightColor.LongitudeAuto = 8.46; + kwinrc.NightColor.NightTemperature = 2400; + kwinrc.Plugins.cubeEnabled = true; + kwinrc.Plugins.sheetEnabled = true; + kwinrc.Plugins.translucencyEnabled = true; + kwinrc.Plugins.wobblywindowsEnabled = true; + kwinrc.Tiling.padding = 4; +# kwinrc."Tiling/01df8341-b6c7-5a80-b8b8-9d45585f515f".tiles = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}"; +# kwinrc."Tiling/1c624b6b-fbd3-5af5-93a9-4a7d55ba7893".tiles = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}"; +# kwinrc."Tiling/f18ce12b-2106-508f-9542-e4e6c6fbf75f".tiles = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}"; +# kwinrc.Xwayland.Scale = 2; + kwinrc."org.kde.kdecoration2".BorderSize = "Tiny"; +# kwinrc."org.kde.kdecoration2".BorderSizeAuto = false; +# kwinrc."org.kde.kdecoration2".ButtonsOnLeft = ""; +# kwinrc."org.kde.kdecoration2".theme = "__aurorae__svg__Nordic"; +# plasma-localerc.Formats.LANG = "en_US.UTF-8"; + #plasmanotifyrc."Applications/dev.deedles.Trayscale".Seen = true; +# plasmarc.Theme.name = "WhiteSur-dark"; +# plasmarc.Wallpapers.usersWallpapers = "/home/cookiez/NixOS/other/wallpaper2.png"; + #spectaclerc.ImageSave.lastImageSaveLocation = "file:///home/cookiez/Pictures/Screenshots/Screenshot_20251030_101914.png"; + #spectaclerc.ImageSave.translatedScreenshotsFolder = "Screenshots"; + #spectaclerc.VideoSave.translatedScreencastsFolder = "Screencasts"; + }; + }; }; }