Add plasma config back, reconfigure to coexist with sway config
Split system-level sway and plasma config into separate files, move sway-specific home-level config to sway file. Only truly common desktop components are kept in common spaces. This allows much easier switching between using KDE Plasma and Sway.
24
flake.lock
|
@ -105,12 +105,36 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"plasma-manager": {
|
||||||
|
"inputs": {
|
||||||
|
"home-manager": [
|
||||||
|
"home-manager"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1720369165,
|
||||||
|
"narHash": "sha256-MLRzgdEEmckPVwwllD8+4zkqnnxfMgFw5zk6O3JUiks=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "plasma-manager",
|
||||||
|
"rev": "995d818078778b366e6302ea32d83c2ba586e015",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "plasma-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"base16": "base16",
|
"base16": "base16",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"iosevka-custom": "iosevka-custom",
|
"iosevka-custom": "iosevka-custom",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_2",
|
||||||
|
"plasma-manager": "plasma-manager",
|
||||||
"tt-schemes": "tt-schemes"
|
"tt-schemes": "tt-schemes"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
10
flake.nix
|
@ -12,6 +12,13 @@
|
||||||
url = "github:nix-community/home-manager/release-24.05";
|
url = "github:nix-community/home-manager/release-24.05";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
plasma-manager = {
|
||||||
|
url = "github:nix-community/plasma-manager";
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.follows = "nixpkgs";
|
||||||
|
home-manager.follows = "home-manager";
|
||||||
|
};
|
||||||
|
};
|
||||||
iosevka-custom.url = "git+https://git.xenia.me.uk/pixelifytica/iosevka.git";
|
iosevka-custom.url = "git+https://git.xenia.me.uk/pixelifytica/iosevka.git";
|
||||||
base16.url = "github:SenchoPens/base16.nix";
|
base16.url = "github:SenchoPens/base16.nix";
|
||||||
tt-schemes = {
|
tt-schemes = {
|
||||||
|
@ -23,6 +30,7 @@
|
||||||
outputs = {
|
outputs = {
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
home-manager,
|
home-manager,
|
||||||
|
plasma-manager,
|
||||||
iosevka-custom,
|
iosevka-custom,
|
||||||
base16,
|
base16,
|
||||||
tt-schemes,
|
tt-schemes,
|
||||||
|
@ -41,6 +49,7 @@
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
inherit iosevkaCustom;
|
inherit iosevkaCustom;
|
||||||
|
inherit (plasma-manager.packages.${system}) rc2nix;
|
||||||
accentColourName = "base0E";
|
accentColourName = "base0E";
|
||||||
fonts = with iosevkaCustom; rec {
|
fonts = with iosevkaCustom; rec {
|
||||||
sizes = {
|
sizes = {
|
||||||
|
@ -97,6 +106,7 @@
|
||||||
backupFileExtension = "backup";
|
backupFileExtension = "backup";
|
||||||
users.${username} = {
|
users.${username} = {
|
||||||
imports = [
|
imports = [
|
||||||
|
plasma-manager.homeManagerModules.plasma-manager
|
||||||
base16.homeManagerModule
|
base16.homeManagerModule
|
||||||
{scheme = "${tt-schemes}/base16/one-light.yaml";}
|
{scheme = "${tt-schemes}/base16/one-light.yaml";}
|
||||||
./home/default.nix
|
./home/default.nix
|
||||||
|
|
|
@ -1,9 +1,21 @@
|
||||||
{...}: {
|
{
|
||||||
imports = [./personal.nix];
|
config,
|
||||||
wayland.windowManager.sway.config.workspaceOutputAssign = [
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
./personal.nix
|
||||||
|
./desktop/plasma/default.nix
|
||||||
|
];
|
||||||
|
programs.plasma = lib.mkIf config.programs.plasma.enable {
|
||||||
|
configFile.kcminputrc."Libinput/1739/52759/SYNA32AA:00 06CB:CE17 Touchpad".NaturalScroll = true;
|
||||||
|
};
|
||||||
|
wayland.windowManager.sway = lib.mkIf config.wayland.windowManager.sway.enable {
|
||||||
|
config.workspaceOutputAssign = [
|
||||||
{
|
{
|
||||||
output = "eDP-1";
|
output = "eDP-1";
|
||||||
workspace = "1";
|
workspace = "1";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,13 @@
|
||||||
{...}: {
|
{
|
||||||
imports = [./work.nix];
|
config,
|
||||||
wayland.windowManager.sway.config = {
|
lib,
|
||||||
output."Dell Inc. DELL P3223QE CCG8YN3".scale = "1.5";
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
./work.nix
|
||||||
|
./desktop/plasma/default.nix
|
||||||
|
];
|
||||||
|
wayland.windowManager.sway = lib.mkIf config.wayland.windowManager.sway.enable {
|
||||||
|
config.output."Dell Inc. DELL P3223QE CCG8YN3".scale = "1.5";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,17 @@
|
||||||
{...}: {
|
{
|
||||||
imports = [./work.nix];
|
config,
|
||||||
wayland.windowManager.sway.config = {
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
./work.nix
|
||||||
|
./desktop/plasma/default.nix
|
||||||
|
];
|
||||||
|
programs.plasma = lib.mkIf config.programs.plasma.enable {
|
||||||
|
configFile.kcminputrc."Libinput/1160/4132/DELL0A21:00 0488:1024 Touchpad".NaturalScroll = true;
|
||||||
|
};
|
||||||
|
wayland.windowManager.sway = lib.mkIf config.wayland.windowManager.sway.enable {
|
||||||
|
config = {
|
||||||
output."eDP-1".scale = "1.25";
|
output."eDP-1".scale = "1.25";
|
||||||
workspaceOutputAssign = [
|
workspaceOutputAssign = [
|
||||||
{
|
{
|
||||||
|
@ -9,7 +20,8 @@
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
services.kanshi = {
|
};
|
||||||
|
services.kanshi = lib.mkIf config.wayland.windowManager.sway.enable {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = let
|
settings = let
|
||||||
laptopScreen = {
|
laptopScreen = {
|
||||||
|
|
|
@ -1,11 +1,18 @@
|
||||||
{pkgs, ...}: {
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
./personal.nix
|
./personal.nix
|
||||||
./games/default.nix
|
./games/default.nix
|
||||||
./streaming/default.nix
|
./streaming/default.nix
|
||||||
|
./desktop/plasma/default.nix
|
||||||
];
|
];
|
||||||
home.packages = with pkgs; [blender prusa-slicer];
|
home.packages = with pkgs; [blender prusa-slicer];
|
||||||
wayland.windowManager.sway.config = {
|
wayland.windowManager.sway = lib.mkIf config.wayland.windowManager.sway.enable {
|
||||||
|
config = {
|
||||||
output = {
|
output = {
|
||||||
"Microstep MSI G27CQ4 E2 Unknown" = {
|
"Microstep MSI G27CQ4 E2 Unknown" = {
|
||||||
mode = "2560x1440@120Hz";
|
mode = "2560x1440@120Hz";
|
||||||
|
@ -32,4 +39,5 @@
|
||||||
{command = "${pkgs.xorg.xrandr}/bin/xrandr --output DP-1 --primary";}
|
{command = "${pkgs.xorg.xrandr}/bin/xrandr --output DP-1 --primary";}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,17 +5,7 @@
|
||||||
accentColourName,
|
accentColourName,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [./alacritty/default.nix];
|
||||||
./sway/default.nix
|
|
||||||
./alacritty/default.nix
|
|
||||||
./avizo/default.nix
|
|
||||||
./fuzzel/default.nix
|
|
||||||
./swaylock/default.nix
|
|
||||||
./swayidle/default.nix
|
|
||||||
./swaync/default.nix
|
|
||||||
./waybar/default.nix
|
|
||||||
./wlogout/default.nix
|
|
||||||
];
|
|
||||||
home = {
|
home = {
|
||||||
pointerCursor = let
|
pointerCursor = let
|
||||||
name =
|
name =
|
||||||
|
@ -33,46 +23,13 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
pinentry-gnome3
|
|
||||||
gnome.seahorse
|
|
||||||
ffmpeg
|
|
||||||
evince
|
|
||||||
libreoffice-fresh
|
libreoffice-fresh
|
||||||
inkscape
|
inkscape
|
||||||
webcord
|
webcord
|
||||||
teams-for-linux
|
teams-for-linux
|
||||||
grim
|
|
||||||
slurp
|
|
||||||
swayimg
|
|
||||||
swaybg
|
|
||||||
(writeShellScriptBin "protonmail-setup-bridge" ''
|
|
||||||
pkill -9 -f protonmail-bridge
|
|
||||||
${protonmail-bridge}/bin/protonmail-bridge -c
|
|
||||||
swaymsg exec "${protonmail-bridge}/bin/protonmail-bridge -n"
|
|
||||||
'')
|
|
||||||
(writeShellScriptBin "davmail-setup" ''
|
|
||||||
systemctl --user restart davmail # Ensure config file is present
|
|
||||||
systemctl --user stop davmail
|
|
||||||
${davmail}/bin/davmail -n ~/.davmail.properties
|
|
||||||
systemctl --user restart davmail
|
|
||||||
'')
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
services = {
|
services.syncthing.enable = true;
|
||||||
avizo.enable = true;
|
|
||||||
gpg-agent.pinentryPackage = pkgs.pinentry-gnome3;
|
|
||||||
syncthing.enable = true;
|
|
||||||
kdeconnect = {
|
|
||||||
enable = true;
|
|
||||||
indicator = true;
|
|
||||||
};
|
|
||||||
udiskie = {
|
|
||||||
enable = true;
|
|
||||||
notify = true;
|
|
||||||
automount = true;
|
|
||||||
tray = "never";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
programs.mpv.enable = true;
|
programs.mpv.enable = true;
|
||||||
gtk = let
|
gtk = let
|
||||||
extraCss = import ./base16/gtk.nix {
|
extraCss = import ./base16/gtk.nix {
|
||||||
|
@ -104,16 +61,16 @@
|
||||||
name = "Colloid-${toCapital color}-${toCapital config.scheme.variant}";
|
name = "Colloid-${toCapital color}-${toCapital config.scheme.variant}";
|
||||||
};
|
};
|
||||||
iconTheme = let
|
iconTheme = let
|
||||||
color = "violet";
|
color = "breeze";
|
||||||
in {
|
in {
|
||||||
package = pkgs.papirus-icon-theme.override {inherit color;};
|
package = pkgs.papirus-icon-theme.override {inherit color;};
|
||||||
name = "Papirus-${toCapital config.scheme.variant}";
|
name = "Papirus-${toCapital config.scheme.variant}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
qt = {
|
# qt = {
|
||||||
enable = true;
|
# enable = true;
|
||||||
style.name = "gtk2";
|
# style.name = "breeze";
|
||||||
};
|
# };
|
||||||
xdg = {
|
xdg = {
|
||||||
mime.enable = true;
|
mime.enable = true;
|
||||||
mimeApps = let
|
mimeApps = let
|
||||||
|
|
219
home/desktop/plasma/default.nix
Normal file
|
@ -0,0 +1,219 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
fonts,
|
||||||
|
rc2nix,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
../default.nix
|
||||||
|
./konsole.nix
|
||||||
|
];
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
rc2nix
|
||||||
|
wl-clipboard
|
||||||
|
colloid-kde
|
||||||
|
];
|
||||||
|
services.gpg-agent.pinentryPackage = pkgs.pinentry-qt;
|
||||||
|
programs.plasma = {
|
||||||
|
enable = true;
|
||||||
|
overrideConfig = true;
|
||||||
|
|
||||||
|
workspace = {
|
||||||
|
clickItemTo = "open";
|
||||||
|
lookAndFeel = "org.kde.breeze.desktop";
|
||||||
|
theme = "breeze-light";
|
||||||
|
colorScheme = "BreezeLight";
|
||||||
|
cursor = {
|
||||||
|
inherit (config.home.pointerCursor) size;
|
||||||
|
theme = config.home.pointerCursor.name;
|
||||||
|
};
|
||||||
|
iconTheme = "Papirus";
|
||||||
|
wallpaper = "${../wallpapers/landscapes/tropic_island_day.jpg}";
|
||||||
|
};
|
||||||
|
|
||||||
|
fonts = let
|
||||||
|
general = {
|
||||||
|
family = fonts.sansSerif.name;
|
||||||
|
pointSize = 12;
|
||||||
|
};
|
||||||
|
small = {
|
||||||
|
inherit (general) family;
|
||||||
|
pointSize = general.pointSize - 2;
|
||||||
|
};
|
||||||
|
fixedWidth = {
|
||||||
|
family = fonts.monospace.name;
|
||||||
|
pointSize = 12;
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
inherit general small fixedWidth;
|
||||||
|
menu = general;
|
||||||
|
toolbar = general;
|
||||||
|
windowTitle = small;
|
||||||
|
};
|
||||||
|
|
||||||
|
hotkeys.commands = {
|
||||||
|
"launch-emacs" = {
|
||||||
|
name = "Launch Emacs Client Window";
|
||||||
|
key = "Meta+Alt+X";
|
||||||
|
command = "emacsclient -c";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
panels = [
|
||||||
|
{
|
||||||
|
height = 32;
|
||||||
|
lengthMode = "fill";
|
||||||
|
location = "bottom";
|
||||||
|
alignment = "center";
|
||||||
|
hiding = "normalpanel";
|
||||||
|
floating = true;
|
||||||
|
widgets = [
|
||||||
|
{
|
||||||
|
name = "org.kde.plasma.kickoff";
|
||||||
|
config.General = {
|
||||||
|
icon = "nix-snowflake";
|
||||||
|
primaryActions = "0";
|
||||||
|
favoritesDisplay = "0";
|
||||||
|
applicationsDisplay = "1";
|
||||||
|
pin = "false";
|
||||||
|
showActionButtonCaptions = "true";
|
||||||
|
compactMode = "false";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "org.kde.plasma.icontasks";
|
||||||
|
config.General = {
|
||||||
|
maxStripes = "1";
|
||||||
|
showToolTips = "true";
|
||||||
|
launchers = [
|
||||||
|
"applications:org.kde.konsole.desktop"
|
||||||
|
"preferred://filemanager"
|
||||||
|
"preferred://browser"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "org.kde.plasma.pager";
|
||||||
|
config.General = {
|
||||||
|
showWindowIcons = "true";
|
||||||
|
showOnlyCurrentScreen = "false";
|
||||||
|
wrapPage = "true";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
"org.kde.plasma.cameraindicator"
|
||||||
|
{
|
||||||
|
systemTray = {
|
||||||
|
icons = {
|
||||||
|
spacing = "small";
|
||||||
|
scaleToFit = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
digitalClock = {
|
||||||
|
date = {
|
||||||
|
enable = true;
|
||||||
|
format = "isoDate";
|
||||||
|
position = "besideTime";
|
||||||
|
};
|
||||||
|
time = {
|
||||||
|
format = "24h";
|
||||||
|
showSeconds = "onlyInTooltip";
|
||||||
|
};
|
||||||
|
calendar.showWeekNumbers = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "org.kde.plasma.userswitcher";
|
||||||
|
config.General = {
|
||||||
|
showFace = "true";
|
||||||
|
showName = "false";
|
||||||
|
showFullName = "true";
|
||||||
|
showTechnicalInfo = "true";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
shortcuts = {
|
||||||
|
ksmserver = {
|
||||||
|
"Lock Session" = ["Screensaver" "Meta+Alt+L"];
|
||||||
|
};
|
||||||
|
kwin = {
|
||||||
|
"Walk Through Windows of Current Application" = "Alt+`";
|
||||||
|
"Walk Through Windows of Current Application (Reverse)" = "Alt+¬";
|
||||||
|
"ToggleMouseClick" = "Meta+*";
|
||||||
|
"Expose" = "Meta+,";
|
||||||
|
"Switch Window Down" = "Meta+J";
|
||||||
|
"Switch Window Left" = "Meta+H";
|
||||||
|
"Switch Window Right" = "Meta+L";
|
||||||
|
"Switch Window Up" = "Meta+K";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
kwin = {
|
||||||
|
virtualDesktops = {
|
||||||
|
rows = 1;
|
||||||
|
number = 4;
|
||||||
|
};
|
||||||
|
effects = {
|
||||||
|
translucency.enable = true;
|
||||||
|
blur.enable = true;
|
||||||
|
cube.enable = true;
|
||||||
|
dimAdminMode.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
configFile = {
|
||||||
|
baloofilerc."Basic Settings"."Indexing-Enabled" = false;
|
||||||
|
plasmanotifyrc.Notifications.NormalAlwaysOnTop = true;
|
||||||
|
kcminputrc.Keyboard.NumLock = 1;
|
||||||
|
krunnerrc.General.FreeFloating = true;
|
||||||
|
kscreenlockerrc = {
|
||||||
|
Daemon.Timeout = 15;
|
||||||
|
Greeter.WallpaperPlugin = "org.kde.potd";
|
||||||
|
};
|
||||||
|
klipperrc = {
|
||||||
|
General = {
|
||||||
|
SyncClipboards = true;
|
||||||
|
MaxClipItems = 5;
|
||||||
|
IgnoreImages = false;
|
||||||
|
KeepClipboardContents = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
kdeglobals = {
|
||||||
|
General = {
|
||||||
|
TerminalApplication = "konsole";
|
||||||
|
TerminalService = "org.kde.konsole.desktop";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
kwinrc = {
|
||||||
|
Plugins = {
|
||||||
|
frozenappEnabled = false;
|
||||||
|
mouseclickEnabled = true;
|
||||||
|
shakecursorEnabled = true;
|
||||||
|
};
|
||||||
|
Windows = {
|
||||||
|
FocusPolicy = "FocusFollowsMouse";
|
||||||
|
RollOverDesktops = true;
|
||||||
|
};
|
||||||
|
Tiling.padding = 10;
|
||||||
|
NightColor = {
|
||||||
|
Active = true;
|
||||||
|
Mode = "Location";
|
||||||
|
LatitudeFixed = "51.7";
|
||||||
|
LongitudeFixed = "-1.2";
|
||||||
|
};
|
||||||
|
"Effect-translucency" = {
|
||||||
|
Inactive = 100;
|
||||||
|
MoveResize = 80;
|
||||||
|
Dialogs = 80;
|
||||||
|
ComboboxPopups = 80;
|
||||||
|
Menus = 80;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
32
home/desktop/plasma/konsole.nix
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
fonts,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
home.packages = [pkgs.kdePackages.yakuake];
|
||||||
|
programs.konsole = {
|
||||||
|
enable = true;
|
||||||
|
defaultProfile = "One-Light";
|
||||||
|
customColorSchemes.onelight = ./onelight.colorscheme;
|
||||||
|
profiles.onelight = {
|
||||||
|
name = "One-Light";
|
||||||
|
colorScheme = "onelight";
|
||||||
|
font = {
|
||||||
|
name = fonts.monospace.name;
|
||||||
|
size = fonts.sizes.terminal;
|
||||||
|
};
|
||||||
|
extraConfig = {
|
||||||
|
"Interaction Options" = {
|
||||||
|
"TextEditorCmd" = 6;
|
||||||
|
"TextEditorCmdCustom" = "emacsclient -c +LINE:COLUMN PATH";
|
||||||
|
"UnderlineFilesEnabled" = "true";
|
||||||
|
"OpenLinksByDirectClickEnabled" = "true";
|
||||||
|
};
|
||||||
|
"Terminal Features" = {
|
||||||
|
"BlinkingCursorEnabled" = "true";
|
||||||
|
"VerticalLine" = "false";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
100
home/desktop/plasma/onelight.colorscheme
Normal file
|
@ -0,0 +1,100 @@
|
||||||
|
[Background]
|
||||||
|
Color=250,250,250
|
||||||
|
|
||||||
|
[BackgroundFaint]
|
||||||
|
Color=250,250,250
|
||||||
|
|
||||||
|
[BackgroundIntense]
|
||||||
|
Color=250,250,250
|
||||||
|
|
||||||
|
[Color0]
|
||||||
|
Color=250,250,250
|
||||||
|
|
||||||
|
[Color0Faint]
|
||||||
|
Color=160,161,167
|
||||||
|
|
||||||
|
[Color0Intense]
|
||||||
|
Color=160,161,167
|
||||||
|
|
||||||
|
[Color1]
|
||||||
|
Color=202,18,67
|
||||||
|
|
||||||
|
[Color1Faint]
|
||||||
|
Color=202,18,67
|
||||||
|
|
||||||
|
[Color1Intense]
|
||||||
|
Color=202,18,67
|
||||||
|
|
||||||
|
[Color2]
|
||||||
|
Color=80,161,79
|
||||||
|
|
||||||
|
[Color2Faint]
|
||||||
|
Color=80,161,79
|
||||||
|
|
||||||
|
[Color2Intense]
|
||||||
|
Color=80,161,79
|
||||||
|
|
||||||
|
[Color3]
|
||||||
|
Color=215,95,0
|
||||||
|
|
||||||
|
[Color3Faint]
|
||||||
|
Color=215,95,0
|
||||||
|
|
||||||
|
[Color3Intense]
|
||||||
|
Color=215,95,0
|
||||||
|
|
||||||
|
[Color4]
|
||||||
|
Color=64,120,242
|
||||||
|
|
||||||
|
[Color4Faint]
|
||||||
|
Color=64,120,242
|
||||||
|
|
||||||
|
[Color4Intense]
|
||||||
|
Color=64,120,242
|
||||||
|
|
||||||
|
[Color5]
|
||||||
|
Color=166,38,164
|
||||||
|
|
||||||
|
[Color5Faint]
|
||||||
|
Color=166,38,164
|
||||||
|
|
||||||
|
[Color5Intense]
|
||||||
|
Color=166,38,164
|
||||||
|
|
||||||
|
[Color6]
|
||||||
|
Color=1,132,188
|
||||||
|
|
||||||
|
[Color6Faint]
|
||||||
|
Color=1,132,188
|
||||||
|
|
||||||
|
[Color6Intense]
|
||||||
|
Color=1,132,188
|
||||||
|
|
||||||
|
[Color7]
|
||||||
|
Color=56,58,66
|
||||||
|
|
||||||
|
[Color7Faint]
|
||||||
|
Color=9,10,11
|
||||||
|
|
||||||
|
[Color7Intense]
|
||||||
|
Color=9,10,11
|
||||||
|
|
||||||
|
[Foreground]
|
||||||
|
Color=56,58,66
|
||||||
|
|
||||||
|
[ForegroundFaint]
|
||||||
|
Color=56,58,66
|
||||||
|
|
||||||
|
[ForegroundIntense]
|
||||||
|
Color=56,58,66
|
||||||
|
|
||||||
|
[General]
|
||||||
|
Anchor=0.5,0.5
|
||||||
|
Blur=true
|
||||||
|
ColorRandomization=false
|
||||||
|
Description=One Light
|
||||||
|
FillStyle=Tile
|
||||||
|
Opacity=0.9
|
||||||
|
Wallpaper=
|
||||||
|
WallpaperFlipType=NoFlip
|
||||||
|
WallpaperOpacity=1
|
|
@ -10,9 +10,54 @@
|
||||||
${pkgs.swaybg}/bin/swaybg -m fill -i ${../wallpapers/landscapes/tropic_island_day.jpg}
|
${pkgs.swaybg}/bin/swaybg -m fill -i ${../wallpapers/landscapes/tropic_island_day.jpg}
|
||||||
'';
|
'';
|
||||||
in {
|
in {
|
||||||
home.packages = [set-background];
|
imports = [
|
||||||
|
../default.nix
|
||||||
|
./avizo/default.nix
|
||||||
|
./fuzzel/default.nix
|
||||||
|
./swaylock/default.nix
|
||||||
|
./swayidle/default.nix
|
||||||
|
./swaync/default.nix
|
||||||
|
./waybar/default.nix
|
||||||
|
./wlogout/default.nix
|
||||||
|
];
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
set-background
|
||||||
|
pinentry-gnome3
|
||||||
|
gnome.seahorse
|
||||||
|
ffmpeg
|
||||||
|
evince
|
||||||
|
grim
|
||||||
|
slurp
|
||||||
|
swayimg
|
||||||
|
swaybg
|
||||||
|
(writeShellScriptBin "protonmail-setup-bridge" ''
|
||||||
|
pkill -9 -f protonmail-bridge
|
||||||
|
${protonmail-bridge}/bin/protonmail-bridge -c
|
||||||
|
swaymsg exec "${protonmail-bridge}/bin/protonmail-bridge -n"
|
||||||
|
'')
|
||||||
|
(writeShellScriptBin "davmail-setup" ''
|
||||||
|
systemctl --user restart davmail # Ensure config file is present
|
||||||
|
systemctl --user stop davmail
|
||||||
|
${davmail}/bin/davmail -n ~/.davmail.properties
|
||||||
|
systemctl --user restart davmail
|
||||||
|
'')
|
||||||
|
];
|
||||||
programs.waybar.systemd.target = "sway-session.target";
|
programs.waybar.systemd.target = "sway-session.target";
|
||||||
services.kanshi.systemdTarget = "sway-session.target";
|
services = {
|
||||||
|
kanshi.systemdTarget = "sway-session.target";
|
||||||
|
gpg-agent.pinentryPackage = pkgs.pinentry-gnome3;
|
||||||
|
avizo.enable = true;
|
||||||
|
kdeconnect = {
|
||||||
|
enable = true;
|
||||||
|
indicator = true;
|
||||||
|
};
|
||||||
|
udiskie = {
|
||||||
|
enable = true;
|
||||||
|
notify = true;
|
||||||
|
automount = true;
|
||||||
|
tray = "never";
|
||||||
|
};
|
||||||
|
};
|
||||||
wayland.windowManager.sway = {
|
wayland.windowManager.sway = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package =
|
package =
|
||||||
|
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 7.9 KiB |
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 6.2 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
@ -1 +1,6 @@
|
||||||
{...}: {imports = [./laptop.nix];}
|
{...}: {
|
||||||
|
imports = [
|
||||||
|
./laptop.nix
|
||||||
|
./desktop/plasma.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
imports = [./desktop.nix];
|
imports = [./desktop/plasma.nix];
|
||||||
boot = {
|
boot = {
|
||||||
loader.efi.efiSysMountPoint = "/boot/efi";
|
loader.efi.efiSysMountPoint = "/boot/efi";
|
||||||
initrd = {
|
initrd = {
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
imports = [./laptop.nix];
|
imports = [
|
||||||
|
./laptop.nix
|
||||||
|
./desktop/plasma.nix
|
||||||
|
];
|
||||||
boot.initrd = {
|
boot.initrd = {
|
||||||
secrets = {"/crypto_keyfile.bin" = null;};
|
secrets = {"/crypto_keyfile.bin" = null;};
|
||||||
luks.devices."luks-761eeb11-3091-4142-9232-4fb33165eccd" = {
|
luks.devices."luks-761eeb11-3091-4142-9232-4fb33165eccd" = {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{config, ...}: {
|
{config, ...}: {
|
||||||
imports = [./desktop.nix];
|
imports = [./desktop/plasma.nix];
|
||||||
boot = {
|
boot = {
|
||||||
initrd.kernelModules = ["amdgpu"];
|
initrd.kernelModules = ["amdgpu"];
|
||||||
extraModulePackages = with config.boot.kernelPackages; [v4l2loopback];
|
extraModulePackages = with config.boot.kernelPackages; [v4l2loopback];
|
||||||
|
|
63
system/desktop/default.nix
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
nixpkgs.config.chromium.commandLineArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland";
|
||||||
|
system.autoUpgrade.operation = "boot";
|
||||||
|
hardware.bluetooth.enable = true;
|
||||||
|
environment = {
|
||||||
|
sessionVariables = {
|
||||||
|
NIXOS_OZONE_WL = "1";
|
||||||
|
QT_QPA_PLATFORM = lib.mkIf config.programs.sway.enable "wayland";
|
||||||
|
};
|
||||||
|
systemPackages = with pkgs; [
|
||||||
|
xdg-utils
|
||||||
|
hunspell
|
||||||
|
hunspellDicts.en_GB-large
|
||||||
|
];
|
||||||
|
};
|
||||||
|
security = {
|
||||||
|
polkit.enable = true;
|
||||||
|
pam.loginLimits = [
|
||||||
|
{
|
||||||
|
domain = "@users";
|
||||||
|
item = "rtprio";
|
||||||
|
type = "-";
|
||||||
|
value = 1;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
programs = {
|
||||||
|
dconf.enable = true;
|
||||||
|
noisetorch.enable = true;
|
||||||
|
kdeconnect.enable = true;
|
||||||
|
gamescope = {
|
||||||
|
enable = true;
|
||||||
|
capSysNice = true;
|
||||||
|
};
|
||||||
|
xwayland.enable = true;
|
||||||
|
};
|
||||||
|
gtk.iconCache.enable = true;
|
||||||
|
services = {
|
||||||
|
flatpak.enable = true;
|
||||||
|
printing.enable = true;
|
||||||
|
pipewire = {
|
||||||
|
enable = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
alsa = {
|
||||||
|
enable = true;
|
||||||
|
support32Bit = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
xserver = {
|
||||||
|
enable = false;
|
||||||
|
xkb = {
|
||||||
|
layout = "gb";
|
||||||
|
variant = "";
|
||||||
|
options = "ctrl:nocaps";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
14
system/desktop/plasma.nix
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
imports = [./default.nix];
|
||||||
|
environment.plasma6.excludePackages = with pkgs.kdePackages; [plasma-browser-integration];
|
||||||
|
services = {
|
||||||
|
displayManager.sddm = {
|
||||||
|
enable = true;
|
||||||
|
wayland.enable = true;
|
||||||
|
};
|
||||||
|
desktopManager.plasma6 = {
|
||||||
|
enable = true;
|
||||||
|
enableQt5Integration = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,21 +1,12 @@
|
||||||
{
|
{
|
||||||
config,
|
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [./default.nix];
|
imports = [./default.nix];
|
||||||
nixpkgs.config.chromium.commandLineArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland";
|
|
||||||
system.autoUpgrade.operation = "boot";
|
|
||||||
hardware.bluetooth.enable = true;
|
|
||||||
environment = {
|
environment = {
|
||||||
sessionVariables = {
|
sessionVariables.GRIM_DEFAULT_DIR = "$HOME/Pictures/Grim";
|
||||||
NIXOS_OZONE_WL = "1";
|
|
||||||
GRIM_DEFAULT_DIR = "$HOME/Pictures/Grim";
|
|
||||||
QT_QPA_PLATFORM = lib.mkIf config.programs.sway.enable "wayland";
|
|
||||||
};
|
|
||||||
systemPackages = with pkgs; [
|
systemPackages = with pkgs; [
|
||||||
xdg-utils
|
|
||||||
wtype
|
wtype
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
libsecret
|
libsecret
|
||||||
|
@ -23,34 +14,16 @@
|
||||||
libcamera
|
libcamera
|
||||||
glib
|
glib
|
||||||
gsettings-desktop-schemas
|
gsettings-desktop-schemas
|
||||||
hunspell
|
|
||||||
hunspellDicts.en_GB-large
|
|
||||||
pamixer
|
pamixer
|
||||||
pavucontrol
|
pavucontrol
|
||||||
playerctl
|
playerctl
|
||||||
brightnessctl
|
brightnessctl
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
security = {
|
security.pam.services.swaylock = {};
|
||||||
polkit.enable = true;
|
|
||||||
pam = {
|
|
||||||
services.swaylock = {};
|
|
||||||
loginLimits = [
|
|
||||||
{
|
|
||||||
domain = "@users";
|
|
||||||
item = "rtprio";
|
|
||||||
type = "-";
|
|
||||||
value = 1;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
programs = {
|
programs = {
|
||||||
dconf.enable = true;
|
|
||||||
light.enable = true;
|
light.enable = true;
|
||||||
nm-applet.enable = true;
|
nm-applet.enable = true;
|
||||||
noisetorch.enable = true;
|
|
||||||
kdeconnect.enable = true;
|
|
||||||
file-roller.enable = true;
|
file-roller.enable = true;
|
||||||
thunar = {
|
thunar = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -68,24 +41,11 @@
|
||||||
wrapperFeatures.gtk = true;
|
wrapperFeatures.gtk = true;
|
||||||
xwayland.enable = true;
|
xwayland.enable = true;
|
||||||
};
|
};
|
||||||
gamescope = {
|
|
||||||
enable = true;
|
|
||||||
capSysNice = true;
|
|
||||||
};
|
|
||||||
xwayland.enable = true;
|
|
||||||
};
|
|
||||||
gtk.iconCache.enable = true;
|
|
||||||
qt = {
|
|
||||||
enable = true;
|
|
||||||
style = "gtk2";
|
|
||||||
platformTheme = "gtk2";
|
|
||||||
};
|
};
|
||||||
services = {
|
services = {
|
||||||
dbus.packages = with pkgs; [gcr];
|
dbus.packages = with pkgs; [gcr];
|
||||||
gnome.gnome-keyring.enable = true;
|
gnome.gnome-keyring.enable = true;
|
||||||
flatpak.enable = true;
|
|
||||||
blueman.enable = true;
|
blueman.enable = true;
|
||||||
printing.enable = true;
|
|
||||||
accounts-daemon.enable = true;
|
accounts-daemon.enable = true;
|
||||||
tumbler.enable = true;
|
tumbler.enable = true;
|
||||||
udisks2.enable = true;
|
udisks2.enable = true;
|
||||||
|
@ -93,14 +53,6 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
package = lib.mkForce pkgs.gnome3.gvfs;
|
package = lib.mkForce pkgs.gnome3.gvfs;
|
||||||
};
|
};
|
||||||
pipewire = {
|
|
||||||
enable = true;
|
|
||||||
pulse.enable = true;
|
|
||||||
alsa = {
|
|
||||||
enable = true;
|
|
||||||
support32Bit = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
greetd = {
|
greetd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = let
|
settings = let
|
||||||
|
@ -110,14 +62,11 @@
|
||||||
default_session = {inherit command;};
|
default_session = {inherit command;};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
xserver = {
|
|
||||||
enable = false;
|
|
||||||
xkb = {
|
|
||||||
layout = "gb";
|
|
||||||
variant = "";
|
|
||||||
options = "ctrl:nocaps";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
qt = {
|
||||||
|
enable = true;
|
||||||
|
style = "gtk2";
|
||||||
|
platformTheme = "gtk2";
|
||||||
};
|
};
|
||||||
xdg.portal = {
|
xdg.portal = {
|
||||||
enable = true;
|
enable = true;
|
|
@ -1,5 +1,5 @@
|
||||||
{...}: {
|
{...}: {
|
||||||
imports = [./desktop.nix];
|
imports = [./desktop/default.nix];
|
||||||
powerManagement.enable = true;
|
powerManagement.enable = true;
|
||||||
services.auto-cpufreq = {
|
services.auto-cpufreq = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|