setting up plasma-manager

This commit is contained in:
Seaswimmer 2024-12-02 15:56:32 -05:00
parent 27f6d411b7
commit d9d58bbca9
Signed by: cswimr
GPG key ID: 0EC431A8DA8F8087
3 changed files with 75 additions and 49 deletions

View file

@ -6,6 +6,11 @@
url = "github:nix-community/home-manager/master"; url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
plasma-manager = {
url = "github:nix-community/plasma-manager";
inputs.nixpkgs.follows = "nixpkgs";
inputs.home-manager.follows = "home-manager";
};
nix-flatpak.url = "github:gmodena/nix-flatpak"; nix-flatpak.url = "github:gmodena/nix-flatpak";
nixvim = { nixvim = {
url = "github:nix-community/nixvim"; url = "github:nix-community/nixvim";
@ -21,6 +26,7 @@
}; };
outputs = { nixpkgs, home-manager, ... }@inputs: outputs = { nixpkgs, home-manager, ... }@inputs:
let let
user = "cswimr";
system = "x86_64-linux"; system = "x86_64-linux";
pkgs = import nixpkgs { pkgs = import nixpkgs {
inherit system; inherit system;
@ -70,19 +76,23 @@
home-manager = { home-manager = {
useGlobalPkgs = true; useGlobalPkgs = true;
useUserPackages = true; useUserPackages = true;
sharedModules =
[ inputs.plasma-manager.homeManagerModules.plasma-manager ];
backupFileExtension = "bak"; backupFileExtension = "bak";
extraSpecialArgs = { extraSpecialArgs = {
inherit inputs; inherit inputs;
inherit pkgs; inherit pkgs;
system = system; system = system;
hostname = "eclipse"; hostname = "eclipse";
user = user;
}; };
users.cswimr = { users.${user} = {
imports = [ imports = [
./home-manager/cswimr.nix ./home-manager/user.nix
./home-manager/vscode.nix ./home-manager/vscode.nix
{ {
programs.git.extraConfig.user.signingkey = "0EC431A8DA8F8087"; programs.git.extraConfig.user.signingkey =
"0EC431A8DA8F8087";
} }
]; ];
}; };
@ -130,19 +140,23 @@
home-manager = { home-manager = {
useGlobalPkgs = true; useGlobalPkgs = true;
useUserPackages = true; useUserPackages = true;
sharedModules =
[ inputs.plasma-manager.homeManagerModules.plasma-manager ];
backupFileExtension = "bak"; backupFileExtension = "bak";
extraSpecialArgs = { extraSpecialArgs = {
inherit inputs; inherit inputs;
inherit pkgs; inherit pkgs;
system = system; system = system;
hostname = "nebula"; hostname = "nebula";
user = user;
}; };
users.cswimr = { users.${user} = {
imports = [ imports = [
./home-manager/cswimr.nix ./home-manager/user.nix
./home-manager/vscode.nix ./home-manager/vscode.nix
{ {
programs.git.extraConfig.user.signingkey = "082F226A1D8C0860"; programs.git.extraConfig.user.signingkey =
"082F226A1D8C0860";
} }
]; ];
}; };
@ -151,6 +165,6 @@
]; ];
}; };
}; };
}; };
} }

View file

@ -2,6 +2,35 @@
imports = [ <plasma-manager/modules> ]; imports = [ <plasma-manager/modules> ];
programs.plasma = { programs.plasma = {
enable = true; enable = true;
workspace = {
theme = "Breeze";
iconTheme = "Breeze Dark";
colorScheme = "CatppuccinMochaBlue";
cursor = {
size = 24;
theme = "Breeze";
};
windowDecorations = {
library = "org.kde.breeze";
theme = "Breeze";
};
};
hotkeys.commands = {
"spectacle-screenshot" = {
name = "Spectacle Screenshot";
command = "/etc/nixos/scripts/py/spectacle-screenshot.py";
comment =
"Take a screenshot of a region on the screen and automatically upload it to Zipline";
keys = [ "Print" "Meta+S" ];
};
"spectacle-recording" = {
name = "Spectacle Recording";
command = "/etc/nixos/scripts/py/spectacle-screenshot.py --record";
comment =
"Record a region on the screen and automatically upload it to Zipline";
keys = [ "Shift+Print" "Meta+Shift+S" ];
};
};
panels = [{ panels = [{
location = "bottom"; location = "bottom";
screen = "all"; screen = "all";
@ -33,47 +62,32 @@
} }
]; ];
}]; }];
#TODO: Convert everything below this to use higher level modules window-rules = [{
shortcuts = { description = "Application settings for Code";
"services/net.local.spectacle-screenshot.py-2.desktop"."_launch" = match = {
"Shift+Print"; window-class = {
"services/net.local.spectacle-screenshot.py.desktop"."_launch" = "Print"; value = "code code-url-handler";
"services/org.kde.spectacle.desktop"."ActiveWindowScreenShot" = [ ]; type = "exact";
"services/org.kde.spectacle.desktop"."FullScreenScreenShot" = [ ]; };
"services/org.kde.spectacle.desktop"."RecordRegion" = [ ]; };
"services/org.kde.spectacle.desktop"."RecordScreen" = [ ]; apply = {
"services/org.kde.spectacle.desktop"."RecordWindow" = [ ]; desktopfile =
"services/org.kde.spectacle.desktop"."RectangularRegionScreenShot" = [ ]; "/etc/profiles/per-user/cswimr/share/applications/code.desktop";
"services/org.kde.spectacle.desktop"."WindowUnderCursorScreenShot" = [ ]; };
"services/org.kde.spectacle.desktop"."_launch" = [ ]; }];
spectacle.shortcuts = {
captureActiveWindow = [ ];
captureCurrentMonitor = [ ];
captureEntireDesktop = [ ];
captureRetangularRegion = [ ];
captureWindowUnderCursor = [ ];
launch = [ ];
}; };
configFile = { configFile = {
"katerc"."KTextEditor Renderer"."Color Theme" = "Catppuccin Mocha"; # These three plugins have no higher level modules
"kded5rc"."Module-browserintegrationreminder"."autoload" = false;
"kded5rc"."Module-device_automounter"."autoload" = false;
"kwalletrc"."Wallet"."First Use" = false;
"kwinrc"."Desktops"."Id_1" = "f523b65c-46b8-4c91-94f4-9e247db75777";
"kwinrc"."Desktops"."Number" = 1;
"kwinrc"."Desktops"."Rows" = 1;
"kwinrc"."Plugins"."sheetEnabled" = true; "kwinrc"."Plugins"."sheetEnabled" = true;
"kwinrc"."Plugins"."wobblywindowsEnabled" = true; "kwinrc"."Plugins"."wobblywindowsEnabled" = true;
"kwinrc"."Plugins"."zoomEnabled" = false; "kwinrc"."Plugins"."zoomEnabled" = false;
"kwinrc"."org.kde.kdecoration2"."theme" = "Breeze";
"kwinrulesrc"."700b0164-f5bb-47c9-93fc-2a4587821757"."Description" =
"Application settings for Code";
"kwinrulesrc"."700b0164-f5bb-47c9-93fc-2a4587821757"."clientmachine" =
"localhost";
"kwinrulesrc"."700b0164-f5bb-47c9-93fc-2a4587821757"."desktopfile" =
"/etc/profiles/per-user/cswimr/share/applications/code.desktop";
"kwinrulesrc"."700b0164-f5bb-47c9-93fc-2a4587821757"."desktopfilerule" =
3;
"kwinrulesrc"."700b0164-f5bb-47c9-93fc-2a4587821757"."wmclass" =
"code code-url-handler";
"kwinrulesrc"."700b0164-f5bb-47c9-93fc-2a4587821757"."wmclasscomplete" =
true;
"kwinrulesrc"."700b0164-f5bb-47c9-93fc-2a4587821757"."wmclassmatch" = 1;
"kwinrulesrc"."General"."count" = 1;
"kwinrulesrc"."General"."rules" = "700b0164-f5bb-47c9-93fc-2a4587821757";
}; };
}; };
} }

View file

@ -1,6 +1,6 @@
{ pkgs, config, ... }: { { pkgs, config, user, ... }: {
home.username = "cswimr"; home.username = user;
home.homeDirectory = "/home/cswimr"; home.homeDirectory = "/home/${user}";
home.file = { home.file = {
".face.icon".source = ".face.icon".source =
@ -19,8 +19,6 @@
config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/themes/glow.json"; config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/themes/glow.json";
}; };
home.sessionPath = [ "/etc/nixos/scripts" ];
# link the configuration file in current directory to the specified location in home directory # link the configuration file in current directory to the specified location in home directory
# home.file.".config/i3/wallpaper.jpg".source = ./wallpaper.jpg; # home.file.".config/i3/wallpaper.jpg".source = ./wallpaper.jpg;
@ -48,7 +46,7 @@
# basic configuration of git, please change to your own # basic configuration of git, please change to your own
programs.git = { programs.git = {
enable = true; enable = true;
userName = "cswimr"; userName = user;
userEmail = "seaswimmerthefsh@gmail.com"; userEmail = "seaswimmerthefsh@gmail.com";
extraConfig = { extraConfig = {
commit = { gpgsign = true; }; commit = { gpgsign = true; };