From 67decdc3c8a9bda3fb73aa4cb1a864ee6fcef615 Mon Sep 17 00:00:00 2001 From: Alex Davies Date: Sun, 26 May 2024 09:37:00 -0300 Subject: [PATCH] Integrated plasma-manager config --- flake.lock | 31 ++++++++++-- flake.nix | 18 +++++-- home-manager/{ => traverseda}/home.nix | 14 +++--- home-manager/traverseda/kde-desktop.nix | 64 +++++++++++++++++++++++++ nixos/configuration.nix | 2 +- nixos/kde-desktop.nix | 10 +++- 6 files changed, 121 insertions(+), 18 deletions(-) rename home-manager/{ => traverseda}/home.nix (93%) create mode 100644 home-manager/traverseda/kde-desktop.nix diff --git a/flake.lock b/flake.lock index 7d4207e..10ce65b 100644 --- a/flake.lock +++ b/flake.lock @@ -251,16 +251,15 @@ ] }, "locked": { - "lastModified": 1715930644, - "narHash": "sha256-W9pyM3/vePxrffHtzlJI6lDS3seANQ+Nqp+i58O46LI=", + "lastModified": 1716711219, + "narHash": "sha256-TnZETiQPXbyT5mdCHMOyrJnx2+BwroMBRrguciz1vEo=", "owner": "nix-community", "repo": "home-manager", - "rev": "e3ad5108f54177e6520535768ddbf1e6af54b59d", + "rev": "05e6ba83eb3585ce0aff7b41e4bd0e317d05ad4a", "type": "github" }, "original": { "owner": "nix-community", - "ref": "master", "repo": "home-manager", "type": "github" } @@ -447,6 +446,29 @@ "type": "github" } }, + "plasma-manager": { + "inputs": { + "home-manager": [ + "home-manager" + ], + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1716670933, + "narHash": "sha256-E5GqDM3cPvPNyfzt1qF7T0Wei1azp1DwLF9qA0X+5M8=", + "owner": "pjones", + "repo": "plasma-manager", + "rev": "4d38fc602e01cc8d1e93e51677aade86febf3295", + "type": "github" + }, + "original": { + "owner": "pjones", + "repo": "plasma-manager", + "type": "github" + } + }, "pre-commit-hooks": { "inputs": { "flake-compat": "flake-compat_2", @@ -483,6 +505,7 @@ "nixpkgs": "nixpkgs_2", "nixpkgs-unstable": "nixpkgs-unstable", "nixvim": "nixvim", + "plasma-manager": "plasma-manager", "ros": "ros" } }, diff --git a/flake.nix b/flake.nix index 3121d6b..f3c258e 100644 --- a/flake.nix +++ b/flake.nix @@ -9,9 +9,16 @@ nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; # Also see the 'unstable-packages' overlay at 'overlays/default.nix'. - # Home manager - home-manager.url = "github:nix-community/home-manager/master"; - home-manager.inputs.nixpkgs.follows = "nixpkgs"; + home-manager = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + plasma-manager = { + url = "github:pjones/plasma-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.home-manager.follows = "home-manager"; + }; ros.url = "github:lopsided98/nix-ros-overlay"; agenix.url = "github:ryantm/agenix"; @@ -28,6 +35,7 @@ self, nixpkgs, home-manager, + plasma-manager, ros, agenix, ... @@ -148,12 +156,12 @@ # Standalone home-manager configuration entrypoint # Available through 'home-manager --flake .#your-username@your-hostname' homeConfigurations = { - "traverseda@athame" = home-manager.lib.homeManagerConfiguration { + "traverseda@generic" = home-manager.lib.homeManagerConfiguration { pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instance extraSpecialArgs = {inherit inputs outputs;}; modules = [ # > Our main home-manager configuration file < - ./home-manager/home.nix + ./home-manager/traverseda/home.nix ]; }; }; diff --git a/home-manager/home.nix b/home-manager/traverseda/home.nix similarity index 93% rename from home-manager/home.nix rename to home-manager/traverseda/home.nix index 7313c1a..243e67f 100644 --- a/home-manager/home.nix +++ b/home-manager/traverseda/home.nix @@ -73,6 +73,12 @@ credential = { helper = "cache --timeout=3600"; # Cache credentials for 1 hour (3600 seconds) }; + oh-my-zsh = { + "hide-dirty" = "1"; + }; + init = { + defaultBranch = "main"; + }; }; }; @@ -128,19 +134,13 @@ pkgs.wget pkgs.wl-clipboard pkgs.atool + pkgs.zig (pkgs.nerdfonts.override { fonts = [ "FiraCode" "DroidSansMono" "Hack"]; }) (pkgs.writeShellScriptBin "nvr-edit" '' nvr --remote-wait $@ '') - (pkgs.writeShellScriptBin "nvidia-offload" '' - export __NV_PRIME_RENDER_OFFLOAD=1 - export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0 - export __GLX_VENDOR_LIBRARY_NAME=nvidia - export __VK_LAYER_NV_optimus=NVIDIA_only - exec "$@" - '') ]; programs.zsh = { diff --git a/home-manager/traverseda/kde-desktop.nix b/home-manager/traverseda/kde-desktop.nix new file mode 100644 index 0000000..716bfb0 --- /dev/null +++ b/home-manager/traverseda/kde-desktop.nix @@ -0,0 +1,64 @@ + +{ + inputs, + outputs, + lib, + config, + pkgs, + ... +}: +{ + imports = [ + inputs.plasma-manager.homeManagerModules.plasma-manager + ]; + + programs.plasma = { + enable = true; + # workspace = { + # theme = "breeze-dark"; + # colorScheme = "BreezeDark"; + # }; + shortcuts = { + "services.org.kde.konsole.desktop"."NewWindow" = "Meta+Return"; + "kwin"."Window Close" = ["Meta+Shift+C" "Alt+F4"]; + "kwin"."Cube" = "Meta+C"; + }; + shortcuts.plasmashell = { + "activate task manager entry 1" = ""; + "activate task manager entry 2" = ""; + "activate task manager entry 3" = ""; + "activate task manager entry 4" = ""; + "activate task manager entry 5" = ""; + "activate task manager entry 6" = ""; + "activate task manager entry 7" = ""; + "activate task manager entry 8" = ""; + "activate task manager entry 9" = ""; + }; + shortcuts.kwin = { + "Switch to Desktop 1" = "Meta+1"; + "Window to Desktop 1" = "Meta+!"; + "Switch to Desktop 2" = "Meta+2"; + "Window to Desktop 2" = "Meta+@"; + "Switch to Desktop 3" = "Meta+3"; + "Window to Desktop 3" = "Meta+#"; + "Switch to Desktop 4" = "Meta+4"; + "Window to Desktop 4" = "Meta+$"; + "Switch to Desktop 5" = "Meta+5"; + "Window to Desktop 5" = "Meta+%"; + "Switch to Desktop 6" = "Meta+6"; + "Window to Desktop 6" = "Meta+^"; + "Switch to Desktop 7" = "Meta+7"; + "Window to Desktop 7" = "Meta+&"; + "Switch to Desktop 8" = "Meta+8"; + "Window to Desktop 8" = "Meta+*"; + "Switch to Desktop 9" = "Meta+9"; + "Window to Desktop 9" = "Meta+("; + "Switch to Desktop 10" = "Meta+0"; + "Window to Desktop 10" = "Meta+)"; + }; + configFile = { + "kwinrc"."Desktops"."Number"."value" = 10; + "kwinrc"."Desktops"."Rows"."value" = 2; + }; + }; +} diff --git a/nixos/configuration.nix b/nixos/configuration.nix index ee16d55..d44f9be 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -133,7 +133,7 @@ extraSpecialArgs = { inherit inputs outputs; }; backupFileExtension = ".bak"; users = { - traverseda = import ../home-manager/home.nix; + traverseda = import ../home-manager/traverseda/home.nix; }; }; diff --git a/nixos/kde-desktop.nix b/nixos/kde-desktop.nix index 1bc4b74..7c80055 100644 --- a/nixos/kde-desktop.nix +++ b/nixos/kde-desktop.nix @@ -1,4 +1,4 @@ -{ config, pkgs, lib, ... }: +{ inputs, outputs, lib, config, pkgs, hostname, specialArgs, options, ... }: { # Enable the KDE Desktop Environment. @@ -79,6 +79,14 @@ programs.dconf.enable = true; hardware.bluetooth.enable = true; hardware.bluetooth.powerOnBoot = true; + home-manager = { + extraSpecialArgs = { inherit inputs outputs; }; + backupFileExtension = ".bak"; + users = { + traverseda = import ../home-manager/traverseda/kde-desktop.nix; + }; + }; + #Enable support for my logitech bluetooth peripherals hardware.logitech.wireless.enable = true; hardware.logitech.wireless.enableGraphical = true;