Home Gen509 @ 2025-05-03-15:04 by jonas@comfy-station
This commit is contained in:
parent
9ebf6152a0
commit
31a51c89c3
@ -1,11 +1,7 @@
|
|||||||
{config, ...}: rec {
|
{config, ...}: rec {
|
||||||
imports = [
|
imports = [
|
||||||
../modules/home/borg.nix
|
../modules/home/borg.nix
|
||||||
../modules/home/firefox.nix
|
|
||||||
../modules/home/kdeconnect.nix
|
|
||||||
../modules/home/ssh.nix
|
../modules/home/ssh.nix
|
||||||
../modules/home/themes/gtk
|
|
||||||
../modules/home/themes/qt
|
|
||||||
../modules/home/yubikey.nix
|
../modules/home/yubikey.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -22,6 +18,12 @@
|
|||||||
hive.hyprland.enable = true;
|
hive.hyprland.enable = true;
|
||||||
hive.kitty.enable = true;
|
hive.kitty.enable = true;
|
||||||
hive.nextcloud.enable = true;
|
hive.nextcloud.enable = true;
|
||||||
|
hive.firefox = {
|
||||||
|
enable = true;
|
||||||
|
plasmaIntegration = true;
|
||||||
|
passFF = true;
|
||||||
|
};
|
||||||
|
hive.kdeconnect.enable = true;
|
||||||
hive.ranger.enable = true;
|
hive.ranger.enable = true;
|
||||||
hive.swaync.enable = true;
|
hive.swaync.enable = true;
|
||||||
hive.waybar.enable = true;
|
hive.waybar.enable = true;
|
||||||
|
|||||||
@ -1,8 +1,6 @@
|
|||||||
{config, ...}: rec {
|
{config, ...}: rec {
|
||||||
imports = [
|
imports = [
|
||||||
../modules/home/borg.nix
|
../modules/home/borg.nix
|
||||||
../modules/home/firefox.nix
|
|
||||||
../modules/home/kdeconnect.nix
|
|
||||||
../modules/home/ssh.nix
|
../modules/home/ssh.nix
|
||||||
../modules/home/yubikey.nix
|
../modules/home/yubikey.nix
|
||||||
];
|
];
|
||||||
|
|||||||
@ -38,5 +38,9 @@
|
|||||||
./home/wlogout
|
./home/wlogout
|
||||||
./home/wofi
|
./home/wofi
|
||||||
./home/zsh
|
./home/zsh
|
||||||
|
./home/firefox.nix
|
||||||
|
./home/kdeconnect.nix
|
||||||
|
./home/plasma.nix
|
||||||
|
./home/wallpaper.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,54 +1,64 @@
|
|||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
|
lib,
|
||||||
inputs,
|
inputs,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}: let
|
||||||
programs.firefox = {
|
cfg = config.hive.firefox;
|
||||||
enable = true;
|
in {
|
||||||
|
options.hive.firefox = {
|
||||||
|
enable = lib.mkEnableOption "Enable Firefox";
|
||||||
|
plasmaIntegration = lib.mkEnableOption "Enable Plasma Integration";
|
||||||
|
passFF = lib.mkEnableOption "Enable PassFF";
|
||||||
|
};
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
programs.firefox = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
# Default profile
|
# Default profile
|
||||||
profiles.jonas = {
|
profiles.jonas = {
|
||||||
name = "Jonas";
|
name = "Jonas";
|
||||||
id = 0;
|
id = 0;
|
||||||
isDefault = true;
|
isDefault = true;
|
||||||
|
|
||||||
# Search
|
# Search
|
||||||
search = {
|
search = {
|
||||||
default = "DuckDuckGo";
|
default = "DuckDuckGo";
|
||||||
order = ["DuckDuckGo" "Google"];
|
order = ["DuckDuckGo" "Google"];
|
||||||
force = true;
|
force = true;
|
||||||
engines = {
|
engines = {
|
||||||
"Nix Packages" = {
|
"Nix Packages" = {
|
||||||
urls = [
|
urls = [
|
||||||
{
|
{
|
||||||
template = "https://search.nixos.org/packages";
|
template = "https://search.nixos.org/packages";
|
||||||
params = [
|
params = [
|
||||||
{
|
{
|
||||||
name = "type";
|
name = "type";
|
||||||
value = "packages";
|
value = "packages";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "query";
|
name = "query";
|
||||||
value = "{searchTerms}";
|
value = "{searchTerms}";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
# Extensions
|
# Extensions
|
||||||
extensions = with inputs.firefox-addons.packages."x86_64-linux"; [
|
extensions = with inputs.firefox-addons.packages."x86_64-linux"; ([
|
||||||
ublock-origin
|
ublock-origin
|
||||||
violentmonkey
|
violentmonkey
|
||||||
plasma-integration
|
]
|
||||||
passff
|
++ lib.optional cfg.plasmaIntegration plasma-integration
|
||||||
];
|
++ lib.optional cfg.passFF passff);
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
home.packages =
|
||||||
|
lib.optional cfg.passFF
|
||||||
|
pkgs.passff-host;
|
||||||
};
|
};
|
||||||
home.packages = with pkgs; [
|
|
||||||
passff-host
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,4 +1,15 @@
|
|||||||
{...}: {
|
{
|
||||||
services.kdeconnect.enable = true;
|
config,
|
||||||
services.kdeconnect.indicator = false;
|
lib,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.hive.kdeconnect;
|
||||||
|
in {
|
||||||
|
options.hive.kdeconnect = {
|
||||||
|
enable = lib.mkEnableOption "Enable KDE Connect";
|
||||||
|
};
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
services.kdeconnect.enable = true;
|
||||||
|
services.kdeconnect.indicator = false;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,141 +1,167 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
config,
|
||||||
lib,
|
lib,
|
||||||
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}: let
|
||||||
home.file.".local/share/wallpaper" = {
|
cfg = config.hive.plasma;
|
||||||
source = ./static/wallpaper;
|
in {
|
||||||
recursive = true;
|
options.hive.plasma.enable = lib.mkEnableOption "Plasma configuration";
|
||||||
};
|
|
||||||
# load hm-vars in x-session
|
|
||||||
xsession.enable = true;
|
|
||||||
|
|
||||||
# Use kvantum-theme
|
config = lib.mkIf cfg.enable {
|
||||||
home.sessionVariables = {
|
# load hm-vars in x-session
|
||||||
QT_STYLE_OVERRIDE = "kvantum";
|
xsession.enable = true;
|
||||||
};
|
|
||||||
|
|
||||||
programs.konsole = {
|
# Use kvantum-theme
|
||||||
enable = true;
|
home.sessionVariables = {
|
||||||
defaultProfile = "default";
|
QT_STYLE_OVERRIDE = "kvantum";
|
||||||
profiles = {
|
};
|
||||||
default = {
|
|
||||||
name = "default";
|
# provide kvantum and nord theme
|
||||||
colorScheme = "Utterly-Nord-Konsole";
|
home.packages = [
|
||||||
font = {
|
pkgs.utterly-nord-plasma
|
||||||
name = "Fira Code";
|
pkgs.libsForQt5.qtstyleplugin-kvantum
|
||||||
size = 10;
|
];
|
||||||
|
|
||||||
|
programs.konsole = {
|
||||||
|
enable = true;
|
||||||
|
defaultProfile = "default";
|
||||||
|
profiles = {
|
||||||
|
default = {
|
||||||
|
name = "default";
|
||||||
|
colorScheme = "Utterly-Nord-Konsole";
|
||||||
|
font = {
|
||||||
|
name = "Fira Code";
|
||||||
|
size = 10;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# use kvantum theme
|
||||||
|
qt.enable = true;
|
||||||
|
qt.style.name = "kvantum";
|
||||||
|
|
||||||
|
# add nord like gtk theme
|
||||||
|
gtk = {
|
||||||
|
enable = true;
|
||||||
|
cursorTheme = {
|
||||||
|
package = pkgs.nordzy-cursor-theme;
|
||||||
|
name = "Nordzy-cursors";
|
||||||
|
};
|
||||||
|
theme = {
|
||||||
|
package = pkgs.nordic;
|
||||||
|
name = "Nordic";
|
||||||
|
};
|
||||||
|
iconTheme = {
|
||||||
|
package = pkgs.tela-circle-icon-theme;
|
||||||
|
name = "Tela-circle-nord";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.plasma = {
|
||||||
|
enable = true;
|
||||||
|
overrideConfig = true;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Some high-level settings:
|
||||||
|
#
|
||||||
|
workspace = {
|
||||||
|
clickItemTo = "select";
|
||||||
|
lookAndFeel = "Utterly-Nord";
|
||||||
|
theme = "breeze";
|
||||||
|
colorScheme = "UtterlyNord";
|
||||||
|
cursorTheme = "Breeze";
|
||||||
|
wallpaper = "/home/jonas/.local/share/wallpaper/nord.png";
|
||||||
|
};
|
||||||
|
|
||||||
|
hotkeys.commands."launch-konsole" = {
|
||||||
|
name = "Launch Konsole";
|
||||||
|
key = "Meta+Return";
|
||||||
|
command = "konsole";
|
||||||
|
};
|
||||||
|
|
||||||
|
panels = [
|
||||||
|
# Windows-like panel at the bottom
|
||||||
|
{
|
||||||
|
location = "bottom";
|
||||||
|
widgets = [
|
||||||
|
"org.kde.plasma.kickoff"
|
||||||
|
"org.kde.plasma.pager"
|
||||||
|
# We can also configure the widgets. For example if you want to pin
|
||||||
|
# konsole and dolphin to the task-launcher the following widget will
|
||||||
|
# have that.
|
||||||
|
{
|
||||||
|
name = "org.kde.plasma.icontasks";
|
||||||
|
config = {
|
||||||
|
General.launchers = [
|
||||||
|
"applications:org.kde.dolphin.desktop"
|
||||||
|
"applications:org.kde.konsole.desktop"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
"org.kde.plasma.marginsseperator"
|
||||||
|
"org.kde.plasma.systemtray"
|
||||||
|
"org.kde.plasma.digitalclock"
|
||||||
|
];
|
||||||
|
hiding = null;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
#
|
||||||
|
# Some mid-level settings:
|
||||||
|
#
|
||||||
|
shortcuts = {
|
||||||
|
ksmserver = {
|
||||||
|
"Lock Session" = ["Screensaver" "Meta+Ctrl+Alt+L"];
|
||||||
|
};
|
||||||
|
|
||||||
|
kwin =
|
||||||
|
{
|
||||||
|
"Expose" = "Meta+,";
|
||||||
|
"Switch Window Down" = "Meta+J";
|
||||||
|
"Switch Window Left" = "Meta+H";
|
||||||
|
"Switch Window Right" = "Meta+L";
|
||||||
|
"Switch Window Up" = "Meta+K";
|
||||||
|
"Window Quick Tile Bottom" = "Meta+Shift+J";
|
||||||
|
"Window Quick Tile Left" = "Meta+Shift+H";
|
||||||
|
"Window Quick Tile Right" = "Meta+Shift+L";
|
||||||
|
"Window Quick Tile Top" = "Meta+Shift+K";
|
||||||
|
"Kill Window" = "Meta+Alt+Q";
|
||||||
|
"Window Close" = "Meta+Shift+Q";
|
||||||
|
}
|
||||||
|
// (
|
||||||
|
with lib; let
|
||||||
|
desktops = map toString (lists.range 1 8);
|
||||||
|
in
|
||||||
|
listToAttrs
|
||||||
|
(map
|
||||||
|
(i: {
|
||||||
|
name = "Switch to Desktop ${i}";
|
||||||
|
value = "Meta+${i}";
|
||||||
|
})
|
||||||
|
desktops)
|
||||||
|
// listToAttrs (map
|
||||||
|
(i: {
|
||||||
|
name = "Window to Desktop ${i}";
|
||||||
|
value = "Meta+Shift+${i}";
|
||||||
|
})
|
||||||
|
desktops)
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
#
|
||||||
|
# Some low-level settings:
|
||||||
|
#
|
||||||
|
configFile = {
|
||||||
|
"baloofilerc"."Basic Settings"."Indexing-Enabled".value = false;
|
||||||
|
"kwinrc"."org.kde.kdecoration2"."ButtonsOnLeft".value = "SF";
|
||||||
|
"kwinrc"."Desktops"."Number" = {
|
||||||
|
value = 8;
|
||||||
|
# Forces kde to not change this value (even through the settings app).
|
||||||
|
immutable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# use kvantum theme
|
|
||||||
qt.enable = true;
|
|
||||||
qt.style.name = "kvantum";
|
|
||||||
|
|
||||||
programs.plasma = {
|
|
||||||
enable = true;
|
|
||||||
overrideConfig = true;
|
|
||||||
|
|
||||||
#
|
|
||||||
# Some high-level settings:
|
|
||||||
#
|
|
||||||
workspace = {
|
|
||||||
clickItemTo = "select";
|
|
||||||
lookAndFeel = "Utterly-Nord";
|
|
||||||
theme = "breeze";
|
|
||||||
colorScheme = "UtterlyNord";
|
|
||||||
cursorTheme = "Breeze";
|
|
||||||
wallpaper = "/home/jonas/.local/share/wallpaper/nord.png";
|
|
||||||
};
|
|
||||||
|
|
||||||
hotkeys.commands."launch-konsole" = {
|
|
||||||
name = "Launch Konsole";
|
|
||||||
key = "Meta+Return";
|
|
||||||
command = "konsole";
|
|
||||||
};
|
|
||||||
|
|
||||||
panels = [
|
|
||||||
# Windows-like panel at the bottom
|
|
||||||
{
|
|
||||||
location = "bottom";
|
|
||||||
widgets = [
|
|
||||||
"org.kde.plasma.kickoff"
|
|
||||||
"org.kde.plasma.pager"
|
|
||||||
# We can also configure the widgets. For example if you want to pin
|
|
||||||
# konsole and dolphin to the task-launcher the following widget will
|
|
||||||
# have that.
|
|
||||||
{
|
|
||||||
name = "org.kde.plasma.icontasks";
|
|
||||||
config = {
|
|
||||||
General.launchers = [
|
|
||||||
"applications:org.kde.dolphin.desktop"
|
|
||||||
"applications:org.kde.konsole.desktop"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
"org.kde.plasma.marginsseperator"
|
|
||||||
"org.kde.plasma.systemtray"
|
|
||||||
"org.kde.plasma.digitalclock"
|
|
||||||
];
|
|
||||||
hiding = null;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
#
|
|
||||||
# Some mid-level settings:
|
|
||||||
#
|
|
||||||
shortcuts = {
|
|
||||||
ksmserver = {
|
|
||||||
"Lock Session" = ["Screensaver" "Meta+Ctrl+Alt+L"];
|
|
||||||
};
|
|
||||||
|
|
||||||
kwin =
|
|
||||||
{
|
|
||||||
"Expose" = "Meta+,";
|
|
||||||
"Switch Window Down" = "Meta+J";
|
|
||||||
"Switch Window Left" = "Meta+H";
|
|
||||||
"Switch Window Right" = "Meta+L";
|
|
||||||
"Switch Window Up" = "Meta+K";
|
|
||||||
"Window Quick Tile Bottom" = "Meta+Shift+J";
|
|
||||||
"Window Quick Tile Left" = "Meta+Shift+H";
|
|
||||||
"Window Quick Tile Right" = "Meta+Shift+L";
|
|
||||||
"Window Quick Tile Top" = "Meta+Shift+K";
|
|
||||||
"Kill Window" = "Meta+Alt+Q";
|
|
||||||
"Window Close" = "Meta+Shift+Q";
|
|
||||||
}
|
|
||||||
// (
|
|
||||||
with lib; let
|
|
||||||
desktops = map toString (lists.range 1 8);
|
|
||||||
in
|
|
||||||
listToAttrs
|
|
||||||
(map
|
|
||||||
(i: {
|
|
||||||
name = "Switch to Desktop ${i}";
|
|
||||||
value = "Meta+${i}";
|
|
||||||
})
|
|
||||||
desktops)
|
|
||||||
// listToAttrs (map
|
|
||||||
(i: {
|
|
||||||
name = "Window to Desktop ${i}";
|
|
||||||
value = "Meta+Shift+${i}";
|
|
||||||
})
|
|
||||||
desktops)
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
#
|
|
||||||
# Some low-level settings:
|
|
||||||
#
|
|
||||||
configFile = {
|
|
||||||
"baloofilerc"."Basic Settings"."Indexing-Enabled".value = false;
|
|
||||||
"kwinrc"."org.kde.kdecoration2"."ButtonsOnLeft".value = "SF";
|
|
||||||
"kwinrc"."Desktops"."Number" = {
|
|
||||||
value = 8;
|
|
||||||
# Forces kde to not change this value (even through the settings app).
|
|
||||||
immutable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
16
modules/home/wallpaper.nix
Normal file
16
modules/home/wallpaper.nix
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.hive.wallpaper;
|
||||||
|
in {
|
||||||
|
options.hive.wallpaper.enable = lib.mkEnableOption "Wallpaper symlink";
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
home.file.".local/share/wallpaper" = {
|
||||||
|
source = ./static/wallpaper;
|
||||||
|
recursive = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user