you know the drill at this point
This commit is contained in:
parent
f1c89a0ec1
commit
38dc8327d2
27 changed files with 227 additions and 555 deletions
|
@ -1,286 +0,0 @@
|
|||
{ inputs, config, lib, pkgs, user, ... }:
|
||||
let
|
||||
inherit (lib.modules) mkIf;
|
||||
|
||||
cfg = config.modules.${user}.desktop.plasma;
|
||||
in
|
||||
{
|
||||
options.modules.${user}.desktop.plasma = let
|
||||
inherit (lib.options) mkEnableOption mkOption;
|
||||
in {
|
||||
enable = mkEnableOption "plasma 6";
|
||||
|
||||
autoLogin = mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
example = true;
|
||||
description = "Enable plasma's auto login feature.";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs.kdePackages; [
|
||||
kcoreaddons
|
||||
];
|
||||
|
||||
environment.plasma6.excludePackages = with pkgs.kdePackages; [ konsole kate ghostwriter oxygen ];
|
||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
|
||||
services = {
|
||||
xserver.enable = true;
|
||||
|
||||
desktopManager.plasma6.enable = true;
|
||||
|
||||
displayManager = {
|
||||
defaultSession = "plasma";
|
||||
sddm = {
|
||||
enable = true;
|
||||
wayland.enable = true;
|
||||
};
|
||||
autoLogin = mkIf cfg.autoLogin {
|
||||
enable = true;
|
||||
inherit user;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# should enable theme integration with gtk apps (i.e. firefox, thunderbird)
|
||||
programs.dconf.enable = true;
|
||||
|
||||
home-manager = {
|
||||
sharedModules = [
|
||||
inputs.plasma-manager.homeManagerModules.plasma-manager
|
||||
];
|
||||
|
||||
users.${user}.programs.plasma = {
|
||||
enable = true;
|
||||
immutableByDefault = true;
|
||||
windows.allowWindowsToRememberPositions = true;
|
||||
|
||||
session = {
|
||||
general.askForConfirmationOnLogout = false;
|
||||
sessionRestore.restoreOpenApplicationsOnLogin = "onLastLogout";
|
||||
};
|
||||
|
||||
workspace = {
|
||||
clickItemTo = "select";
|
||||
colorScheme = "EverforestDark";
|
||||
wallpaper = config.stylix.image;
|
||||
};
|
||||
|
||||
spectacle.shortcuts = {
|
||||
captureRectangularRegion = "Meta+Shift+S";
|
||||
};
|
||||
|
||||
kwin = {
|
||||
edgeBarrier = 0;
|
||||
cornerBarrier = false;
|
||||
|
||||
effects = {
|
||||
translucency.enable = true;
|
||||
|
||||
blur = {
|
||||
enable = true;
|
||||
strength = 5;
|
||||
noiseStrength = 5;
|
||||
};
|
||||
|
||||
snapHelper.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
panels = [
|
||||
# Windows-like panel at the bottom
|
||||
{
|
||||
location = "bottom";
|
||||
floating = true;
|
||||
lengthMode = "fill";
|
||||
height = 42;
|
||||
hiding = "none";
|
||||
screen = "all";
|
||||
widgets = [
|
||||
{
|
||||
panelSpacer = {
|
||||
expanding = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
kickoff = {
|
||||
applicationsDisplayMode = "list";
|
||||
compactDisplayStyle = false;
|
||||
favoritesDisplayMode = "grid";
|
||||
sortAlphabetically = true;
|
||||
showButtonsFor = {
|
||||
custom = [
|
||||
"shutdown"
|
||||
"reboot"
|
||||
"logout"
|
||||
"lock-screen"
|
||||
];
|
||||
};
|
||||
showActionButtonCaptions = true;
|
||||
};
|
||||
}
|
||||
# {
|
||||
# appMenu = {
|
||||
# compactView = false;
|
||||
# };
|
||||
# }
|
||||
{
|
||||
iconTasks = {
|
||||
appearance = {
|
||||
fill = false;
|
||||
highlightWindows = true;
|
||||
iconSpacing = "medium";
|
||||
indicateAudioStreams = true;
|
||||
rows = {
|
||||
multirowView = "never";
|
||||
maximum = null;
|
||||
};
|
||||
showTooltips = true;
|
||||
};
|
||||
behavior = {
|
||||
grouping = {
|
||||
clickAction = "showPresentWindowsEffect";
|
||||
method = "byProgramName";
|
||||
};
|
||||
minimizeActiveTaskOnClick = true;
|
||||
newTasksAppearOn = "right";
|
||||
showTasks = {
|
||||
onlyInCurrentActivity = true;
|
||||
onlyInCurrentDesktop = true;
|
||||
onlyMinimized = false;
|
||||
onlyInCurrentScreen = false;
|
||||
};
|
||||
sortingMethod = "manually";
|
||||
unhideOnAttentionNeeded = true;
|
||||
wheel = {
|
||||
ignoreMinimizedTasks = true;
|
||||
switchBetweenTasks = true;
|
||||
};
|
||||
};
|
||||
launchers = [
|
||||
"preferred://filemanager"
|
||||
"preferred://browser"
|
||||
"preferred://terminalemulator"
|
||||
"preferred://email"
|
||||
"applications:zededitor.desktop"
|
||||
"applications:vesktop.desktop"
|
||||
"applications:steam.desktop"
|
||||
];
|
||||
};
|
||||
}
|
||||
{
|
||||
panelSpacer = {
|
||||
expanding = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
systemTray = {
|
||||
icons = {
|
||||
scaleToFit = true;
|
||||
spacing = "small";
|
||||
};
|
||||
items = {
|
||||
hidden = [
|
||||
"org.kde.plasma.brightness"
|
||||
];
|
||||
};
|
||||
pin = false;
|
||||
};
|
||||
}
|
||||
{
|
||||
digitalClock = {
|
||||
date = {
|
||||
enable = true;
|
||||
format = "shortDate";
|
||||
position = "belowTime";
|
||||
};
|
||||
time = {
|
||||
format = "24h";
|
||||
showSeconds = "onlyInTooltip";
|
||||
};
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
powerdevil = {
|
||||
AC = {
|
||||
powerButtonAction = "shutDown";
|
||||
whenLaptopLidClosed = "doNothing";
|
||||
|
||||
autoSuspend.action = "nothing";
|
||||
dimDisplay.enable = false;
|
||||
|
||||
turnOffDisplay = {
|
||||
idleTimeout = "never";
|
||||
};
|
||||
};
|
||||
|
||||
battery = {
|
||||
powerButtonAction = "shutDown";
|
||||
whenLaptopLidClosed = "doNothing";
|
||||
|
||||
autoSuspend.action = "nothing";
|
||||
dimDisplay.enable = false;
|
||||
|
||||
turnOffDisplay = {
|
||||
idleTimeout = "never";
|
||||
};
|
||||
};
|
||||
|
||||
lowBattery = {
|
||||
powerButtonAction = "shutDown";
|
||||
whenLaptopLidClosed = "doNothing";
|
||||
|
||||
autoSuspend.action = "nothing";
|
||||
dimDisplay.enable = false;
|
||||
|
||||
turnOffDisplay = {
|
||||
idleTimeout = "never";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
kscreenlocker = {
|
||||
autoLock = false;
|
||||
lockOnResume = false;
|
||||
lockOnStartup = false;
|
||||
|
||||
appearance = {
|
||||
alwaysShowClock = true;
|
||||
showMediaControls = true;
|
||||
};
|
||||
};
|
||||
|
||||
configFile = {
|
||||
baloofilerc = {
|
||||
|
||||
};
|
||||
kdeglobals = {
|
||||
General = {
|
||||
# enable font antialiasing
|
||||
XftAntialias = true;
|
||||
XftHintStyle = "hintslight";
|
||||
XftSubPixel = "rgb";
|
||||
};
|
||||
};
|
||||
kwalletrc = {
|
||||
Wallet.Enabled = false;
|
||||
};
|
||||
plasmarc = {
|
||||
General = {
|
||||
RaiseMaximumVolume = true;
|
||||
VolumeStep = 2;
|
||||
};
|
||||
};
|
||||
kcminputrc = {
|
||||
Keyboard.NumLock.value = 0;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -20,13 +20,15 @@
|
|||
inputs.home-manager.follows = "home-manager";
|
||||
};
|
||||
|
||||
# neovim
|
||||
nvf.url = "github:notashelf/nvf";
|
||||
|
||||
# plymouth theme
|
||||
nixos-boot.url = "github:Melkor333/nixos-boot";
|
||||
|
||||
firefox.url = "github:nix-community/flake-firefox-nightly";
|
||||
|
||||
stylix.url = "github:danth/stylix";
|
||||
stylix.url = "github:nix-community/stylix";
|
||||
|
||||
fenix = {
|
||||
url = "github:nix-community/fenix";
|
||||
|
@ -42,12 +44,14 @@
|
|||
sops-nix.url = "github:Mic92/sops-nix";
|
||||
|
||||
himmelblau = {
|
||||
url = "github:himmelblau-idm/himmelblau/main";
|
||||
url = "github:himmelblau-idm/himmelblau";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
# windows app utilities
|
||||
erosanix.url = "github:emmanuelrosa/erosanix";
|
||||
|
||||
# Steam deck stuff
|
||||
jovian = {
|
||||
url = "github:Jovian-Experiments/Jovian-NixOS";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
|
|
@ -5,6 +5,11 @@
|
|||
};
|
||||
|
||||
sneeuwvlok = {
|
||||
shell = {
|
||||
default = "zsh";
|
||||
corePkgs.enable = true;
|
||||
};
|
||||
|
||||
themes = {
|
||||
enable = true;
|
||||
theme = "everforest";
|
||||
|
|
|
@ -17,6 +17,9 @@ in
|
|||
immutableByDefault = true;
|
||||
windows.allowWindowsToRememberPositions = true;
|
||||
|
||||
panels = import ./panels.nix;
|
||||
powerdevil = import ./power.nix;
|
||||
|
||||
session = {
|
||||
general.askForConfirmationOnLogout = false;
|
||||
sessionRestore.restoreOpenApplicationsOnLogin = "onLastLogout";
|
||||
|
|
|
@ -1,124 +1,109 @@
|
|||
{ config, lib, namespace, osConfig ? {}, ... }:
|
||||
let
|
||||
inherit (lib) mkIf;
|
||||
|
||||
cfg = config.${namespace}.desktop.plasma;
|
||||
osCfg = osConfig.${namespace}.desktop.plasma or { enable = false; };
|
||||
in
|
||||
{
|
||||
options.${namespace}.desktop.plasma = {
|
||||
|
||||
};
|
||||
|
||||
config = mkIf osCfg.enable {
|
||||
programs.plasma.panels = [
|
||||
[
|
||||
{
|
||||
location = "bottom";
|
||||
floating = true;
|
||||
lengthMode = "fill";
|
||||
height = 42;
|
||||
hiding = "none";
|
||||
screen = "all";
|
||||
widgets = [
|
||||
{
|
||||
location = "bottom";
|
||||
floating = true;
|
||||
lengthMode = "fill";
|
||||
height = 42;
|
||||
hiding = "none";
|
||||
screen = "all";
|
||||
widgets = [
|
||||
{
|
||||
panelSpacer = {
|
||||
expanding = true;
|
||||
panelSpacer = {
|
||||
expanding = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
kickoff = {
|
||||
applicationsDisplayMode = "list";
|
||||
compactDisplayStyle = false;
|
||||
favoritesDisplayMode = "grid";
|
||||
sortAlphabetically = true;
|
||||
showButtonsFor = {
|
||||
custom = [
|
||||
"shutdown"
|
||||
"reboot"
|
||||
"logout"
|
||||
"lock-screen"
|
||||
];
|
||||
};
|
||||
showActionButtonCaptions = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
iconTasks = {
|
||||
appearance = {
|
||||
fill = false;
|
||||
highlightWindows = true;
|
||||
iconSpacing = "medium";
|
||||
indicateAudioStreams = true;
|
||||
rows = {
|
||||
multirowView = "never";
|
||||
maximum = null;
|
||||
};
|
||||
}
|
||||
{
|
||||
kickoff = {
|
||||
applicationsDisplayMode = "list";
|
||||
compactDisplayStyle = false;
|
||||
favoritesDisplayMode = "grid";
|
||||
sortAlphabetically = true;
|
||||
showButtonsFor = {
|
||||
custom = [
|
||||
"shutdown"
|
||||
"reboot"
|
||||
"logout"
|
||||
"lock-screen"
|
||||
];
|
||||
};
|
||||
showActionButtonCaptions = true;
|
||||
showTooltips = true;
|
||||
};
|
||||
behavior = {
|
||||
grouping = {
|
||||
clickAction = "showPresentWindowsEffect";
|
||||
method = "byProgramName";
|
||||
};
|
||||
}
|
||||
{
|
||||
iconTasks = {
|
||||
appearance = {
|
||||
fill = false;
|
||||
highlightWindows = true;
|
||||
iconSpacing = "medium";
|
||||
indicateAudioStreams = true;
|
||||
rows = {
|
||||
multirowView = "never";
|
||||
maximum = null;
|
||||
};
|
||||
showTooltips = true;
|
||||
};
|
||||
behavior = {
|
||||
grouping = {
|
||||
clickAction = "showPresentWindowsEffect";
|
||||
method = "byProgramName";
|
||||
};
|
||||
minimizeActiveTaskOnClick = true;
|
||||
newTasksAppearOn = "right";
|
||||
showTasks = {
|
||||
onlyInCurrentActivity = true;
|
||||
onlyInCurrentDesktop = true;
|
||||
onlyMinimized = false;
|
||||
onlyInCurrentScreen = false;
|
||||
};
|
||||
sortingMethod = "manually";
|
||||
unhideOnAttentionNeeded = true;
|
||||
wheel = {
|
||||
ignoreMinimizedTasks = true;
|
||||
switchBetweenTasks = true;
|
||||
};
|
||||
};
|
||||
launchers = [
|
||||
"preferred://filemanager"
|
||||
"preferred://browser"
|
||||
"preferred://terminalemulator"
|
||||
"preferred://email"
|
||||
"applications:vesktop.desktop"
|
||||
"applications:steam.desktop"
|
||||
];
|
||||
minimizeActiveTaskOnClick = true;
|
||||
newTasksAppearOn = "right";
|
||||
showTasks = {
|
||||
onlyInCurrentActivity = true;
|
||||
onlyInCurrentDesktop = true;
|
||||
onlyMinimized = false;
|
||||
onlyInCurrentScreen = false;
|
||||
};
|
||||
}
|
||||
{
|
||||
panelSpacer = {
|
||||
expanding = true;
|
||||
sortingMethod = "manually";
|
||||
unhideOnAttentionNeeded = true;
|
||||
wheel = {
|
||||
ignoreMinimizedTasks = true;
|
||||
switchBetweenTasks = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
systemTray = {
|
||||
icons = {
|
||||
scaleToFit = true;
|
||||
spacing = "small";
|
||||
};
|
||||
items = {
|
||||
hidden = [
|
||||
"org.kde.plasma.brightness"
|
||||
];
|
||||
};
|
||||
pin = false;
|
||||
};
|
||||
}
|
||||
{
|
||||
digitalClock = {
|
||||
date = {
|
||||
enable = true;
|
||||
format = "shortDate";
|
||||
position = "belowTime";
|
||||
};
|
||||
time = {
|
||||
format = "24h";
|
||||
showSeconds = "onlyInTooltip";
|
||||
};
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
launchers = [
|
||||
"preferred://filemanager"
|
||||
"preferred://browser"
|
||||
"preferred://terminalemulator"
|
||||
"preferred://email"
|
||||
"applications:vesktop.desktop"
|
||||
"applications:steam.desktop"
|
||||
];
|
||||
};
|
||||
}
|
||||
{
|
||||
panelSpacer = {
|
||||
expanding = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
systemTray = {
|
||||
icons = {
|
||||
scaleToFit = true;
|
||||
spacing = "small";
|
||||
};
|
||||
items = {
|
||||
hidden = [
|
||||
"org.kde.plasma.brightness"
|
||||
];
|
||||
};
|
||||
pin = false;
|
||||
};
|
||||
}
|
||||
{
|
||||
digitalClock = {
|
||||
date = {
|
||||
enable = true;
|
||||
format = "shortDate";
|
||||
position = "belowTime";
|
||||
};
|
||||
time = {
|
||||
format = "24h";
|
||||
showSeconds = "onlyInTooltip";
|
||||
};
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
}
|
||||
]
|
|
@ -1,52 +1,37 @@
|
|||
{ config, lib, namespace, osConfig ? {}, ... }:
|
||||
let
|
||||
inherit (lib) mkIf;
|
||||
|
||||
cfg = config.${namespace}.desktop.plasma;
|
||||
osCfg = osConfig.${namespace}.desktop.plasma or { enable = false; };
|
||||
in
|
||||
{
|
||||
options.${namespace}.desktop.plasma = {
|
||||
AC = {
|
||||
powerButtonAction = "shutDown";
|
||||
whenLaptopLidClosed = "doNothing";
|
||||
|
||||
autoSuspend.action = "nothing";
|
||||
dimDisplay.enable = false;
|
||||
|
||||
turnOffDisplay = {
|
||||
idleTimeout = "never";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf osCfg.enable {
|
||||
programs.plasma.powerdevil = {
|
||||
AC = {
|
||||
powerButtonAction = "shutDown";
|
||||
whenLaptopLidClosed = "doNothing";
|
||||
battery = {
|
||||
powerButtonAction = "shutDown";
|
||||
whenLaptopLidClosed = "doNothing";
|
||||
|
||||
autoSuspend.action = "nothing";
|
||||
dimDisplay.enable = false;
|
||||
autoSuspend.action = "nothing";
|
||||
dimDisplay.enable = false;
|
||||
|
||||
turnOffDisplay = {
|
||||
idleTimeout = "never";
|
||||
};
|
||||
};
|
||||
turnOffDisplay = {
|
||||
idleTimeout = "never";
|
||||
};
|
||||
};
|
||||
|
||||
battery = {
|
||||
powerButtonAction = "shutDown";
|
||||
whenLaptopLidClosed = "doNothing";
|
||||
lowBattery = {
|
||||
powerButtonAction = "shutDown";
|
||||
whenLaptopLidClosed = "doNothing";
|
||||
|
||||
autoSuspend.action = "nothing";
|
||||
dimDisplay.enable = false;
|
||||
autoSuspend.action = "nothing";
|
||||
dimDisplay.enable = false;
|
||||
|
||||
turnOffDisplay = {
|
||||
idleTimeout = "never";
|
||||
};
|
||||
};
|
||||
|
||||
lowBattery = {
|
||||
powerButtonAction = "shutDown";
|
||||
whenLaptopLidClosed = "doNothing";
|
||||
|
||||
autoSuspend.action = "nothing";
|
||||
dimDisplay.enable = false;
|
||||
|
||||
turnOffDisplay = {
|
||||
idleTimeout = "never";
|
||||
};
|
||||
};
|
||||
turnOffDisplay = {
|
||||
idleTimeout = "never";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ config, lib, pkgs, namespace, ... }:
|
||||
let
|
||||
inherit (lib) attrValues mkIf mkMerge mkOption mkEnableOption;
|
||||
inherit (lib) attrValues mkIf mkMerge mkOption mkEnableOption mkDefault;
|
||||
inherit (lib.types) nullOr enum;
|
||||
|
||||
cfg = config.${namespace}.shell;
|
||||
|
@ -12,17 +12,18 @@ in
|
|||
default = null;
|
||||
description = "Default system shell";
|
||||
};
|
||||
|
||||
|
||||
corePkgs.enable = mkEnableOption "core shell packages";
|
||||
};
|
||||
|
||||
config = mkMerge [
|
||||
(mkIf (cfg.default != null) {
|
||||
users.defaultUserShell = pkgs."${cfg.default}";
|
||||
})
|
||||
# (if (cfg.default != null) then {
|
||||
# shell = pkgs."${cfg.default}";
|
||||
# } else {})
|
||||
|
||||
(mkIf cfg.corePkgs.enable {
|
||||
${namespace}.shell.toolset = {
|
||||
|
||||
(mkIf (cfg.corePkgs.enable) {
|
||||
${namespace}.shell.toolset = mkDefault {
|
||||
bat.enable = true;
|
||||
btop.enable = true;
|
||||
eza.enable = true;
|
||||
|
@ -33,7 +34,9 @@ in
|
|||
yazi.enable = true;
|
||||
zoxide.enable = true;
|
||||
};
|
||||
})
|
||||
|
||||
({
|
||||
home.packages = with pkgs; [ any-nix-shell pwgen yt-dlp ripdrag fd (ripgrep.override {withPCRE2 = true;}) ];
|
||||
|
||||
programs = {
|
||||
|
@ -50,4 +53,4 @@ in
|
|||
};
|
||||
})
|
||||
];
|
||||
}
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
{ config, lib, pkgs, user, ... }:
|
||||
{ config, lib, pkgs, namespace, ... }:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ config, lib, pkgs, user, ... }:
|
||||
{ config, lib, pkgs, namespace, ... }:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
inherit (lib.strings) concatStringsSep;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ config, lib, pkgs, user, ... }:
|
||||
{ config, lib, pkgs, namespace, ... }:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ config, lib, pkgs, user, ... }:
|
||||
{ config, lib, pkgs, namespace, ... }:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ config, lib, pkgs, user, ... }:
|
||||
{ config, lib, pkgs, namespace, ... }:
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
|
||||
|
@ -10,7 +10,7 @@ in
|
|||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.sessionVariables.GITHUB_TOKEN = "$(cat /run/agenix/tokenGH)";
|
||||
home.sessionVariables.GITHUB_TOKEN = "$(cat /run/agenix/tokenGH)";
|
||||
|
||||
home.packages = with pkgs; [ lazygit lazyjj jujutsu ];
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ config, lib, pkgs, user, ... }:
|
||||
{ config, lib, pkgs, namespace, ... }:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
|
@ -10,27 +10,27 @@ in
|
|||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
user.package = with pkgs; [ gnupg ];
|
||||
# home.packages = with pkgs; [ gnupg ];
|
||||
|
||||
environment.variables.GNUPGHOME = "$XDG_CONFIG_HOME/gnupg";
|
||||
# home.sessionVariables.GNUPGHOME = "$XDG_CONFIG_HOME/gnupg";
|
||||
|
||||
programs.gnupg = {
|
||||
enable = true;
|
||||
# programs.gnupg = {
|
||||
# enable = true;
|
||||
|
||||
agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
pinentryPackage = pkgs.pinentry-gnome3;
|
||||
# agent = {
|
||||
# enable = true;
|
||||
# enableSSHSupport = true;
|
||||
# pinentryPackage = pkgs.pinentry-gnome3;
|
||||
|
||||
settings = let
|
||||
cacheTTL = 86400;
|
||||
in {
|
||||
default-cache-ttl = cacheTTL;
|
||||
default-cache-ttl-ssh = cacheTTL;
|
||||
max-cache-ttl = cacheTTL;
|
||||
max-cache-ttl-ssh = cacheTTL;
|
||||
};
|
||||
};
|
||||
};
|
||||
# settings = let
|
||||
# cacheTTL = 86400;
|
||||
# in {
|
||||
# default-cache-ttl = cacheTTL;
|
||||
# default-cache-ttl-ssh = cacheTTL;
|
||||
# max-cache-ttl = cacheTTL;
|
||||
# max-cache-ttl-ssh = cacheTTL;
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ config, lib, pkgs, user, ... }:
|
||||
{ config, lib, pkgs, namespace, ... }:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ config, lib, pkgs, user, ... }:
|
||||
{ config, lib, pkgs, namespace, ... }:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
{ config, lib, pkgs, user, ... }:
|
||||
{ config, lib, pkgs, namespace, ... }:
|
||||
let
|
||||
inherit (lib.${namespace}) mkIf;
|
||||
inherit (lib.options) mkEnableOption;
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.shell.toolset.yazi;
|
||||
in
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ config, lib, pkgs, user, ... }:
|
||||
{ config, lib, pkgs, namespace, ... }:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ config, lib, pkgs, user, ... }:
|
||||
{ config, lib, pkgs, namespace, ... }:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ config, lib, pkgs, namespace, ... }:
|
||||
let
|
||||
inherit (lib) mkIf;
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.shell.zsh;
|
||||
in
|
||||
|
@ -10,13 +10,9 @@ in
|
|||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
${namespace}.shell = {
|
||||
zsh.enable = true;
|
||||
corePkgs.enable = true;
|
||||
};
|
||||
|
||||
# Enable completion for sys-packages:
|
||||
environment.pathsToLink = ["/share/zsh"];
|
||||
# ${namespace}.shell = {
|
||||
# zsh.enable = true;
|
||||
# };
|
||||
|
||||
programs = {
|
||||
starship.enableZshIntegration = true;
|
|
@ -1,4 +1,4 @@
|
|||
{ config, lib, pkgs, namespace, ... }:
|
||||
{ config, lib, pkgs, namespace, osConfig ? {}, ... }:
|
||||
let
|
||||
inherit (lib) mkIf mkDefault;
|
||||
inherit (lib.options) mkOption mkEnableOption;
|
||||
|
@ -23,9 +23,7 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
${namespace}.theming.enable = true;
|
||||
|
||||
config = mkIf (cfg.enable && osConfig.${namespace}.theming.enable) {
|
||||
stylix = {
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/${cfg.theme}.yaml";
|
||||
image = ./${cfg.theme}.jpg;
|
||||
|
|
|
@ -1,43 +0,0 @@
|
|||
{ config, lib, namespace, ... }:
|
||||
let
|
||||
inherit (lib) mkIf mkDefault mkOption mkMerge;
|
||||
inherit (lib.types) nullOr enum;
|
||||
|
||||
cfg = config.${namespace};
|
||||
in
|
||||
{
|
||||
options.${namespace} = {
|
||||
preset = mkOption {
|
||||
type = nullOr (enum [ "server" "desktop" ]);
|
||||
default = null;
|
||||
example = "desktop";
|
||||
description = "Which defaults profile to start with";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkMerge [
|
||||
(mkIf (cfg.preset == "desktop") {
|
||||
${namespace} = mkDefault {
|
||||
hardware.has = {
|
||||
audio = true;
|
||||
};
|
||||
|
||||
boot = {
|
||||
quiet = true;
|
||||
animated = true;
|
||||
};
|
||||
|
||||
desktop.use = "plasma";
|
||||
theming.enable = true;
|
||||
};
|
||||
})
|
||||
|
||||
(mkIf (cfg.preset == "server") {
|
||||
${namespace} = mkDefault {
|
||||
services = {
|
||||
networking.ssh.enable = true;
|
||||
};
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
2
modules/nixos/shells/default.nix
Normal file
2
modules/nixos/shells/default.nix
Normal file
|
@ -0,0 +1,2 @@
|
|||
{ ... }:
|
||||
{}
|
|
@ -10,5 +10,7 @@ in
|
|||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
# Enable completion for sys-packages:
|
||||
environment.pathsToLink = ["/share/zsh"];
|
||||
};
|
||||
}
|
|
@ -10,7 +10,9 @@ in
|
|||
];
|
||||
|
||||
options.${namespace}.theming = {
|
||||
enable = mkEnableOption "enable theming";
|
||||
enable = mkEnableOption "enable theming" // {
|
||||
default = true;
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -8,12 +8,19 @@ in
|
|||
];
|
||||
|
||||
sneeuwvlok = {
|
||||
preset = "desktop";
|
||||
|
||||
hardware.has = {
|
||||
gpu.amd = true;
|
||||
bluetooth = true;
|
||||
audio = true;
|
||||
};
|
||||
|
||||
boot = {
|
||||
quiet = true;
|
||||
animated = true;
|
||||
};
|
||||
|
||||
desktop.use = "plasma";
|
||||
theming.enable = true;
|
||||
};
|
||||
|
||||
system.stateVersion = "23.11";
|
||||
|
|
|
@ -8,8 +8,19 @@ in
|
|||
];
|
||||
|
||||
sneeuwvlok = {
|
||||
preset = "desktop";
|
||||
hardware.has = {
|
||||
gpu.amd = true;
|
||||
bluetooth = true;
|
||||
audio = true;
|
||||
};
|
||||
|
||||
boot = {
|
||||
quiet = true;
|
||||
animated = true;
|
||||
};
|
||||
|
||||
desktop.use = "gamescope";
|
||||
theming.enable = true;
|
||||
};
|
||||
|
||||
system.stateVersion = "23.11";
|
||||
|
|
|
@ -2,18 +2,17 @@
|
|||
let
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./disks.nix
|
||||
./hardware.nix
|
||||
];
|
||||
imports = [
|
||||
./disks.nix
|
||||
./hardware.nix
|
||||
];
|
||||
|
||||
sneeuwvlok = {
|
||||
preset = "server";
|
||||
|
||||
services = {
|
||||
media.enable = true;
|
||||
};
|
||||
sneeuwvlok = {
|
||||
services = {
|
||||
networking.ssh.enable = true;
|
||||
media.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
system.stateVersion = "23.11";
|
||||
system.stateVersion = "23.11";
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue