setting up plasma-manager
This commit is contained in:
parent
27f6d411b7
commit
d9d58bbca9
3 changed files with 75 additions and 49 deletions
26
flake.nix
26
flake.nix
|
@ -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";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
@ -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";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -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; };
|
Loading…
Reference in a new issue