diff --git a/flake.lock b/flake.lock index 72a0f23..73f8820 100644 --- a/flake.lock +++ b/flake.lock @@ -73,11 +73,11 @@ ] }, "locked": { - "lastModified": 1772408722, - "narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=", + "lastModified": 1775087534, + "narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3", + "rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b", "type": "github" }, "original": { @@ -117,11 +117,11 @@ ] }, "locked": { - "lastModified": 1775036584, - "narHash": "sha256-zW0lyy7ZNNT/x8JhzFHBsP2IPx7ATZIPai4FJj12BgU=", + "lastModified": 1775585728, + "narHash": "sha256-8Psjt+TWvE4thRKktJsXfR6PA/fWWsZ04DVaY6PUhr4=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "4e0eb042b67d863b1b34b3f64d52ceb9cd926735", + "rev": "580633fa3fe5fc0379905986543fd7495481913d", "type": "github" }, "original": { @@ -159,11 +159,11 @@ ] }, "locked": { - "lastModified": 1774991950, - "narHash": "sha256-kScKj3qJDIWuN9/6PMmgy5esrTUkYinrO5VvILik/zw=", + "lastModified": 1775622785, + "narHash": "sha256-/yFxO+7oS1SymDfJ2iVO7K5vJKcYfe9XGIJ+quLqz0Q=", "owner": "nix-community", "repo": "home-manager", - "rev": "f2d3e04e278422c7379e067e323734f3e8c585a7", + "rev": "527e47b78fe67213072f706bf933a9705a8c4974", "type": "github" }, "original": { @@ -175,11 +175,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1775020384, - "narHash": "sha256-3XiHDhiNxb2vWI0en8ug7WBMEPj9mcaWcMhaFFfhfJY=", + "lastModified": 1775423009, + "narHash": "sha256-vPKLpjhIVWdDrfiUM8atW6YkIggCEKdSAlJPzzhkQlw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c9971bfbabf2fa3f3b7e6e4cbeaa2abd6295b478", + "rev": "68d8aa3d661f0e6bd5862291b5bb263b2a6595c9", "type": "github" }, "original": { @@ -199,11 +199,11 @@ ] }, "locked": { - "lastModified": 1775037587, - "narHash": "sha256-3weRbM7ODQocl6wTgyuKPubhpjS4zP2VA5YxeDx6YG8=", + "lastModified": 1775654726, + "narHash": "sha256-4R6Bc5EIQ+HxVte1Mo1B3OkyYFVmehywOPiH3Z9CAIU=", "owner": "nix-community", "repo": "NUR", - "rev": "0a0ed0957d4fee887d5101d3975d40e98658d75c", + "rev": "c73a8885bd1bb5d329e16a4512e2c2708c5981a7", "type": "github" }, "original": { diff --git a/hosts/nixos/aramis/home.nix b/hosts/nixos/aramis/home.nix index 7bf6fe2..e8c99e4 100644 --- a/hosts/nixos/aramis/home.nix +++ b/hosts/nixos/aramis/home.nix @@ -25,7 +25,7 @@ # Network-Manager applet nm-applet.enable = true; # Terminal - terminal.default = "alacritty"; + terminal.program = "alacritty"; # Transmission remote trgui.enable = true; # Zathura document viewer diff --git a/modules/home/calibre/default.nix b/modules/home/calibre/default.nix index fcd62f8..e3733b1 100644 --- a/modules/home/calibre/default.nix +++ b/modules/home/calibre/default.nix @@ -10,8 +10,10 @@ in }; config = lib.mkIf cfg.enable { - home.packages = [ - cfg.package - ]; + programs.calibre = { + enable = true; + + inherit (cfg) package; + }; }; } diff --git a/modules/home/firefox/default.nix b/modules/home/firefox/default.nix index 1ffb8d9..19a008c 100644 --- a/modules/home/firefox/default.nix +++ b/modules/home/firefox/default.nix @@ -48,29 +48,15 @@ in "browser.bookmarks.showMobileBookmarks" = true; # Mobile bookmarks "browser.download.useDownloadDir" = false; # Ask for download location "browser.in-content.dark-mode" = true; # Dark mode - "browser.ml.chat.enabled" = false; # No AI - "browser.ml.chat.menu" = false; # No AI - "browser.ml.chat.page" = false; # No AI - "browser.ml.chat.page.footerBadge" = false; # No AI - "browser.ml.chat.page.menuBadge" = false; # No AI - "browser.ml.chat.shortcuts" = false; # No AI - "browser.ml.chat.sidebar" = false; # No AI - "browser.ml.enable" = false; # No AI - "browser.ml.linkPreview.enabled" = false; # No AI - "browser.ml.pageAssist.enabled" = false; # No AI "browser.newtabpage.activity-stream.feeds.section.topstories" = false; # Disable top stories "browser.newtabpage.activity-stream.feeds.sections" = false; "browser.newtabpage.activity-stream.feeds.system.topstories" = false; # Disable top stories "browser.newtabpage.activity-stream.section.highlights.includePocket" = false; # Disable pocket - "browser.tabs.groups.smart.enabled" = false; # No AI - "browser.tabs.groups.smart.userEnabled" = false; # No AI "browser.urlbar.trimURLs" = false; # Always show the `http://` prefix - "extensions.ml.enabled" = false; # No AI "extensions.pocket.enabled" = false; # Disable pocket "media.eme.enabled" = true; # Enable DRM "media.gmp-widevinecdm.enabled" = true; # Enable DRM "media.gmp-widevinecdm.visible" = true; # Enable DRM - "sidebar.notification.badge.aichat" = false; # No AI "signon.autofillForms" = false; # Disable built-in form-filling "signon.rememberSignons" = false; # Disable built-in password manager "ui.systemUsesDarkTheme" = true; # Dark mode diff --git a/modules/home/firefox/tridactyl/default.nix b/modules/home/firefox/tridactyl/default.nix index 6fcf8ce..26ddfad 100644 --- a/modules/home/firefox/tridactyl/default.nix +++ b/modules/home/firefox/tridactyl/default.nix @@ -2,21 +2,13 @@ let cfg = config.my.home.firefox.tridactyl; - term = config.my.home.terminal.default; + term = config.my.home.terminal.program; - vimCommandLine = - let - # Termite wants the whole command in a single argument... - brokenExecCommand = { - termite = true; - }; - # Assume most other terminals are sane and not broken... - isBroken = brokenExecCommand.${term} or false; - in - if isBroken then - ''-e "vim %f '+normal!%lGzv%c|'"'' - else - ''-e "vim" "%f" "+normal!%lGzv%c|"''; + vimCommandLine = { + alacritty = ''-e "vim" "%f" "+normal!%lGzv%c|"''; + # Termite wants the whole command in a single argument... + termite = ''-e "vim %f '+normal!%lGzv%c|'"''; + }; in { config = lib.mkIf cfg.enable { @@ -25,9 +17,9 @@ in # Use my configured terminal term # Make it easy to pick out with a window class name - "--title=tridactyl_editor" + "--class tridactyl_editor" # Open vim with the cursor in the correct position - vimCommandLine + vimCommandLine.${term} ]; }; }; diff --git a/modules/home/git/default.ignore b/modules/home/git/default.ignore index d80996e..a2da8f2 100644 --- a/modules/home/git/default.ignore +++ b/modules/home/git/default.ignore @@ -5,7 +5,7 @@ *.out # Python files -env/ +.venv/ __pycache__/ *.py[cod] .mypy_cache/ diff --git a/modules/home/pager/default.nix b/modules/home/pager/default.nix index 353ef46..e84dcb7 100644 --- a/modules/home/pager/default.nix +++ b/modules/home/pager/default.nix @@ -9,50 +9,18 @@ in config = lib.mkIf cfg.enable { - programs.less = { - enable = true; - - config = '' - #command - # Quit without clearing the screen on `Q` - Q toggle-option -!^Predraw-on-quit\nq - - #line-edit - # readline-style command editing - ^p up - ^n down - ^b left - ^f right - ^a home - ^e end - \eb word-left - \ef word-right - ^w word-backspace - \ed word-delete - # Simulate delete to start/end of line by repeating word-wise actions - ^u word-backspace ${lib.strings.replicate 100 "^w"} - ^k word-delete ${lib.strings.replicate 100 "\\ed"} - ''; - }; - home.sessionVariables = { # My default pager PAGER = "less"; - # Set `LESS` in the environment so it overrides git's pager (and others) - LESS = - let - options = { - # Always use the alternate screen (so that it is cleared on exit) - "+no-init" = true; - # Write text top-down, rather than from the bottom - clear-screen = true; - # Interpret (some) escape sequences - RAW-CONTROL-CHARS = true; - # Use colored text in search and UI - use-color = true; - }; - in - lib.concatStringsSep " " (lib.cli.toCommandLineGNU { } options); + # Clear the screen on start and exit + LESS = "-R -+X -c"; + # Better XDG compliance + LESSHISTFILE = "${config.xdg.stateHome}/less/history"; }; + + xdg.configFile."lesskey".text = '' + # Quit without clearing the screen on `Q` + Q toggle-option -!^Predraw-on-quit\nq + ''; }; } diff --git a/modules/home/terminal/alacritty/default.nix b/modules/home/terminal/alacritty/default.nix index 29e00eb..daf3e80 100644 --- a/modules/home/terminal/alacritty/default.nix +++ b/modules/home/terminal/alacritty/default.nix @@ -1,22 +1,9 @@ { config, lib, ... }: let - cfg = config.my.home.terminal.alacritty; - inherit (config.my.home.terminal) colors; + cfg = config.my.home.terminal; in { - options.my.home.terminal = with lib; { - default = mkOption { - type = with types; nullOr (enum [ "alacritty" ]); - }; - - alacritty = { - enable = mkEnableOption "alacritty" // { - default = config.my.home.terminal.default == "alacritty"; - }; - }; - }; - - config = lib.mkIf cfg.enable { + config = lib.mkIf (cfg.program == "alacritty") { programs.alacritty = { enable = true; @@ -27,36 +14,36 @@ in colors = { primary = { - background = colors.background; - foreground = colors.foreground; + background = cfg.colors.background; + foreground = cfg.colors.foreground; - bright_foreground = colors.foregroundBold; + bright_foreground = cfg.colors.foregroundBold; }; cursor = { - cursor = colors.cursor; + cursor = cfg.colors.cursor; }; normal = { - black = colors.black; - red = colors.red; - green = colors.green; - yellow = colors.yellow; - blue = colors.blue; - magenta = colors.magenta; - cyan = colors.cyan; - white = colors.white; + black = cfg.colors.black; + red = cfg.colors.red; + green = cfg.colors.green; + yellow = cfg.colors.yellow; + blue = cfg.colors.blue; + magenta = cfg.colors.magenta; + cyan = cfg.colors.cyan; + white = cfg.colors.white; }; bright = { - black = colors.blackBold; - red = colors.redBold; - green = colors.greenBold; - yellow = colors.yellowBold; - blue = colors.blueBold; - magenta = colors.magentaBold; - cyan = colors.cyanBold; - white = colors.whiteBold; + black = cfg.colors.blackBold; + red = cfg.colors.redBold; + green = cfg.colors.greenBold; + yellow = cfg.colors.yellowBold; + blue = cfg.colors.blueBold; + magenta = cfg.colors.magentaBold; + cyan = cfg.colors.cyanBold; + white = cfg.colors.whiteBold; }; }; }; diff --git a/modules/home/terminal/default.nix b/modules/home/terminal/default.nix index 188156c..20f36b5 100644 --- a/modules/home/terminal/default.nix +++ b/modules/home/terminal/default.nix @@ -16,11 +16,11 @@ in options.my.home = with lib; { terminal = { - default = mkOption { - type = with types; nullOr (enum [ ]); + program = mkOption { + type = with types; nullOr (enum [ "alacritty" "termite" ]); default = null; example = "termite"; - description = "Which default terminal to use for home session"; + description = "Which terminal to use for home session"; }; colors = { @@ -56,7 +56,7 @@ in }; }; - config.home.sessionVariables = lib.mkIf (cfg.default != null) { - TERMINAL = cfg.default; + config.home.sessionVariables = lib.mkIf (cfg.program != null) { + TERMINAL = cfg.program; }; } diff --git a/modules/home/terminal/termite/default.nix b/modules/home/terminal/termite/default.nix index 1784ff2..e8f67a7 100644 --- a/modules/home/terminal/termite/default.nix +++ b/modules/home/terminal/termite/default.nix @@ -1,22 +1,9 @@ { config, lib, pkgs, ... }: let - cfg = config.my.home.terminal.termite; - inherit (config.my.home.terminal) colors; + cfg = config.my.home.terminal; in { - options.my.home.terminal = with lib; { - default = mkOption { - type = with types; nullOr (enum [ "termite" ]); - }; - - termite = { - enable = mkEnableOption "termite" // { - default = config.my.home.terminal.default == "termite"; - }; - }; - }; - - config = lib.mkIf cfg.enable { + config = lib.mkIf (cfg.program == "termite") { programs.termite = { enable = true; @@ -37,11 +24,11 @@ in # Colors - backgroundColor = colors.background; - cursorColor = colors.cursor; - foregroundColor = colors.foreground; - foregroundBoldColor = colors.foregroundBold; - colorsExtra = with colors; '' + backgroundColor = cfg.colors.background; + cursorColor = cfg.colors.cursor; + foregroundColor = cfg.colors.foreground; + foregroundBoldColor = cfg.colors.foregroundBold; + colorsExtra = with cfg.colors; '' # Normal colors color0 = ${black} color1 = ${red} diff --git a/modules/home/tmux/default.nix b/modules/home/tmux/default.nix index f9a94f1..e3e3daf 100644 --- a/modules/home/tmux/default.nix +++ b/modules/home/tmux/default.nix @@ -31,9 +31,9 @@ in }; }); - default = { ${config.my.home.terminal.default} = { }; }; + default = { ${config.my.home.terminal.program} = { }; }; defaultText = literalExpression '' - { ''${config.my.home.terminal.default} = { }; }; + { ''${config.my.home.terminal.program} = { }; }; ''; example = { xterm-256color = { }; }; description = '' diff --git a/modules/home/vim/after/plugin/mappings/unimpaired.lua b/modules/home/vim/after/plugin/mappings/unimpaired.lua index 765b6b1..f83a3a3 100644 --- a/modules/home/vim/after/plugin/mappings/unimpaired.lua +++ b/modules/home/vim/after/plugin/mappings/unimpaired.lua @@ -82,7 +82,7 @@ local keys = { -- Disable option { "]o", group = "Disable option" }, - { "]ob", desc = "Light background" }, + { "]ob", desc = "Dark background" }, { "]oc", desc = "Cursor line" }, { "]od", desc = "Diff" }, { "]of", "FormatDisable", desc = "LSP Formatting" }, @@ -101,7 +101,7 @@ local keys = { -- Toggle option { "yo", group = "Toggle option" }, - { "yob", desc = "Light background" }, + { "yob", desc = "Toggle background" }, { "yoc", desc = "Cursor line" }, { "yod", desc = "Diff" }, { "yof", "FormatToggle", desc = "LSP Formatting" }, diff --git a/modules/home/vim/init.vim b/modules/home/vim/init.vim index 1142925..f3b5022 100644 --- a/modules/home/vim/init.vim +++ b/modules/home/vim/init.vim @@ -112,7 +112,7 @@ colorscheme gruvbox """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Enable search high-lighting while the search is on-going set hlsearch -" Ignore case on search +" Ignore case on search unless \C is in search terms set ignorecase " Ignore case unless there is an uppercase letter in the pattern set smartcase diff --git a/modules/home/vim/plugin/numbertoggle.lua b/modules/home/vim/plugin/numbertoggle.lua index b1e3df2..2299a62 100644 --- a/modules/home/vim/plugin/numbertoggle.lua +++ b/modules/home/vim/plugin/numbertoggle.lua @@ -1,7 +1,7 @@ -- Show lines numbers vim.opt.number = true -local numbertoggle = vim.api.nvim_create_augroup("numbertoggle", { clear = true }) +local numbertoggle = vim.api.nvim_create_augroup("ambroisie.numbertoggle", { clear = true }) -- Toggle numbers between relative and absolute when changing buffers vim.api.nvim_create_autocmd({ "BufEnter", "FocusGained", "InsertLeave", "WinEnter" }, { diff --git a/modules/home/vim/plugin/settings/tree-sitter.lua b/modules/home/vim/plugin/settings/tree-sitter.lua index 0009d48..b533452 100644 --- a/modules/home/vim/plugin/settings/tree-sitter.lua +++ b/modules/home/vim/plugin/settings/tree-sitter.lua @@ -76,14 +76,14 @@ local function treesitter_try_attach(buf, language) -- Syntax highlighting vim.treesitter.start(buf, language) -- Indentation - vim.bo[buf].indentexpr = "v:lua.require('nvim-treesitter').indentexpr()" + vim.bo.indentexpr = "v:lua.require('nvim-treesitter').indentexpr()" return true end vim.api.nvim_create_autocmd("FileType", { pattern = "*", - group = vim.api.nvim_create_augroup("treesitter_attach", { clear = true }), + group = vim.api.nvim_create_augroup("ambroisie.treesitter_attach", { clear = true }), callback = function(args) local buf, filetype = args.buf, args.match local language = vim.treesitter.language.get_lang(filetype) diff --git a/modules/home/vim/plugin/signtoggle.lua b/modules/home/vim/plugin/signtoggle.lua index 3deca34..66e0ab4 100644 --- a/modules/home/vim/plugin/signtoggle.lua +++ b/modules/home/vim/plugin/signtoggle.lua @@ -1,4 +1,4 @@ -local signtoggle = vim.api.nvim_create_augroup("signtoggle", { clear = true }) +local signtoggle = vim.api.nvim_create_augroup("ambroisie.signtoggle", { clear = true }) -- Only show sign column for the currently focused buffer, if it has a number column vim.api.nvim_create_autocmd({ "BufEnter", "FocusGained", "WinEnter" }, { diff --git a/modules/home/wm/default.nix b/modules/home/wm/default.nix index 86ae969..ae1e136 100644 --- a/modules/home/wm/default.nix +++ b/modules/home/wm/default.nix @@ -1,4 +1,4 @@ -{ config, lib, ... }: +{ config, lib, pkgs, ... }: let mkRelatedOption = description: relatedWMs: let @@ -20,14 +20,14 @@ in options.my.home.wm = with lib; { windowManager = mkOption { - type = with types; nullOr (enum [ ]); + type = with types; nullOr (enum [ "i3" ]); default = null; example = "i3"; description = "Which window manager to use for home session"; }; cursor = { - enable = mkRelatedOption "cursor configuration" [ "i3" ]; + enable = mkRelatedOption "dunst configuration" [ "i3" ]; }; dunst = { @@ -68,14 +68,29 @@ in }; screen-lock = { - enable = mkRelatedOption "automatic screen locker" [ "i3" ]; + enable = mkRelatedOption "automatic X screen locker" [ "i3" ]; command = mkOption { type = types.str; + default = "${lib.getExe pkgs.i3lock} -n -c 000000"; example = "\${lib.getExe pkgs.i3lock} -n -i lock.png"; description = "Locker command to run"; }; + cornerLock = { + enable = my.mkDisableOption '' + Move mouse to upper-left corner to lock instantly, lower-right corner to + disable auto-lock. + ''; + + delay = mkOption { + type = types.int; + default = 5; + example = 15; + description = "How many seconds before locking this way"; + }; + }; + notify = { enable = my.mkDisableOption "Notify when about to lock the screen"; @@ -85,15 +100,17 @@ in example = 15; description = '' How many seconds in advance should there be a notification. + This value must be at lesser than or equal to `cornerLock.delay` + when both options are enabled. ''; }; }; timeout = mkOption { - type = types.int; + type = types.ints.between 1 60; default = 15; example = 1; - description = "Inactive time interval (in minutes) to lock the screen automatically"; + description = "Inactive time interval to lock the screen automatically"; }; }; }; diff --git a/modules/home/wm/i3/default.nix b/modules/home/wm/i3/default.nix index 9826e68..5f22bbe 100644 --- a/modules/home/wm/i3/default.nix +++ b/modules/home/wm/i3/default.nix @@ -3,8 +3,8 @@ let isEnabled = config.my.home.wm.windowManager == "i3"; terminal = - if config.my.home.terminal.default != null - then config.my.home.terminal.default + if config.my.home.terminal.program != null + then config.my.home.terminal.program else "i3-sensible-terminal"; alt = "Mod1"; # `Alt` key @@ -47,25 +47,15 @@ let if ${systemctlUser} is-active xautolock-session.service; then ${systemctlUser} stop --user xautolock-session.service xset s off - xset s 0 0 - xset -dpms ${notify} "Disabled Xautolock" else ${systemctlUser} start xautolock-session.service xset s on - xset s 0 0 - xset +dpms ${notify} "Enabled Xautolock" fi ''; in { - options.my.home.wm = with lib; { - windowManager = mkOption { - type = with types; nullOr (enum [ "i3" ]); - }; - }; - config = lib.mkIf isEnabled { home.packages = with pkgs; [ ambroisie.dragger # drag-and-drop from the CLI @@ -75,9 +65,6 @@ in xdotool # Used by 'rofi-rbw', in a mapping ]; - # Set `i3lock` as the (default) lock command - my.home.wm.screen-lock.command = lib.mkDefault "${lib.getExe pkgs.i3lock} -n -c 000000"; - xsession.windowManager.i3 = { enable = true; @@ -136,7 +123,7 @@ in inherit modifier; criteria = [ - { title = "^tridactyl_editor$"; } + { class = "^tridactyl_editor$"; } { class = "^Blueman-.*$"; } { title = "^htop$"; } { class = "^Thunderbird$"; instance = "Mailnews"; window_role = "filterlist"; } @@ -400,10 +387,5 @@ in }; }; }; - - # Use a grey background - xsession.profileExtra = '' - ${lib.getExe pkgs.xsetroot} -solid '#333333' - ''; }; } diff --git a/modules/home/wm/rofi/default.nix b/modules/home/wm/rofi/default.nix index d0e0215..9707ed7 100644 --- a/modules/home/wm/rofi/default.nix +++ b/modules/home/wm/rofi/default.nix @@ -7,7 +7,7 @@ in programs.rofi = { enable = true; - terminal = config.my.home.terminal.default; # null by default + terminal = config.my.home.terminal.program; # null by default package = pkgs.rofi.override { plugins = with pkgs; [ diff --git a/modules/home/wm/screen-lock/default.nix b/modules/home/wm/screen-lock/default.nix index 208e529..5e6874e 100644 --- a/modules/home/wm/screen-lock/default.nix +++ b/modules/home/wm/screen-lock/default.nix @@ -2,22 +2,32 @@ let cfg = config.my.home.wm.screen-lock; - lockNotifier = pkgs.writeShellApplication { - name = "lock-notifier"; - runtimeInputs = [ - pkgs.libnotify - ]; - text = '' - duration=${toString cfg.notify.delay} - notify-send \ - -u critical \ - -t "$((duration * 1000))" -- \ - "Locking in $duration seconds" - ''; - }; + notificationCmd = + let + duration = toString (cfg.notify.delay * 1000); + notifyCmd = "${lib.getExe pkgs.libnotify} -u critical -t ${duration}"; + in + # Needs to be surrounded by quotes for systemd to launch it correctly + ''"${notifyCmd} -- 'Locking in ${toString cfg.notify.delay} seconds'"''; in { config = lib.mkIf cfg.enable { + assertions = [ + { + assertion = + let + inherit (cfg) cornerLock notify; + bothEnabled = cornerLock.enable && notify.enable; + cornerLockHigherThanNotify = cornerLock.delay >= notify.delay; + in + bothEnabled -> cornerLockHigherThanNotify; + message = '' + `config.my.home.wm.notify.delay` cannot have a value higher than + `config.my.home.wm.cornerLock.delay`. + ''; + } + ]; + services.screen-locker = { enable = true; @@ -26,11 +36,19 @@ in lockCmd = cfg.command; xautolock = { - extraOptions = lib.optionals cfg.notify.enable [ + extraOptions = lib.optionals cfg.cornerLock.enable [ + # Mouse corners: instant lock on upper-left, never lock on lower-right + "-cornerdelay" + "${toString cfg.cornerLock.delay}" + "-cornerredelay" + "${toString cfg.cornerLock.delay}" + "-corners" + "+00-" + ] ++ lib.optionals cfg.notify.enable [ "-notify" "${toString cfg.notify.delay}" "-notifier" - (lib.getExe lockNotifier) + notificationCmd ]; }; }; diff --git a/modules/nixos/profiles/x/default.nix b/modules/nixos/profiles/x/default.nix index 2f6b8d5..874f36f 100644 --- a/modules/nixos/profiles/x/default.nix +++ b/modules/nixos/profiles/x/default.nix @@ -1,4 +1,4 @@ -{ config, lib, ... }: +{ config, lib, pkgs, ... }: let cfg = config.my.profiles.x; in @@ -10,6 +10,12 @@ in config = lib.mkIf cfg.enable { # Enable the X11 windowing system. services.xserver.enable = true; + # Nice wallpaper + services.xserver.displayManager.lightdm.background = + let + wallpapers = "${pkgs.kdePackages.plasma-workspace-wallpapers}/share/wallpapers"; + in + "${wallpapers}/summer_1am/contents/images/2560x1600.jpg"; # X configuration my.home.x.enable = true; diff --git a/modules/nixos/services/wireguard/keys/secrets.nix b/modules/nixos/services/wireguard/keys/secrets.nix index 3572217..3985477 100644 --- a/modules/nixos/services/wireguard/keys/secrets.nix +++ b/modules/nixos/services/wireguard/keys/secrets.nix @@ -1,6 +1,6 @@ # Extra wireguard keys that are not hosts NixOS hosts let - keys = import ../../../../../keys; + keys = import ../../../../keys; all = [ keys.users.ambroisie