progress in multi user config
This commit is contained in:
parent
f7891e1f30
commit
3a2f52f45e
68 changed files with 384 additions and 663 deletions
52
modules/home/desktop/terminal/alacritty.nix
Normal file
52
modules/home/desktop/terminal/alacritty.nix
Normal file
|
@ -0,0 +1,52 @@
|
|||
{
|
||||
config,
|
||||
options,
|
||||
lib,
|
||||
pkgs,
|
||||
user,
|
||||
...
|
||||
}: let
|
||||
inherit (builtins) toString;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
in {
|
||||
options.modules.${user}.desktop.terminal.alacritty = let
|
||||
inherit (lib.options) mkEnableOption;
|
||||
in { enable = mkEnableOption "OpenGL terminal emulator"; };
|
||||
|
||||
config = mkIf config.${user}.modules.desktop.terminal.alacritty.enable {
|
||||
modules.shell.toolset.tmux.enable = true;
|
||||
|
||||
home-manager.users.${user}.programs.alacritty = {
|
||||
enable = true;
|
||||
|
||||
settings = mkMerge [
|
||||
{
|
||||
env = {
|
||||
TERM = "xterm-256color";
|
||||
WINIT_X11_SCALE_FACTOR = "1.0";
|
||||
};
|
||||
|
||||
window.dynamic_title = true;
|
||||
|
||||
scrolling = {
|
||||
history = 5000;
|
||||
multiplier = 3;
|
||||
};
|
||||
|
||||
selection = {
|
||||
semantic_escape_chars = '',│`|:"' ()[]{}<>'';
|
||||
save_to_clipboard = false;
|
||||
};
|
||||
|
||||
live_config_reload = true;
|
||||
|
||||
shell = {
|
||||
program = "${getExe pkgs.zsh}";
|
||||
args = ["-l" "-c" "tmux new || tmux"];
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
24
modules/home/desktop/terminal/default.nix
Normal file
24
modules/home/desktop/terminal/default.nix
Normal file
|
@ -0,0 +1,24 @@
|
|||
{ config, options, lib, pkgs, user, ... }:
|
||||
let
|
||||
inherit (lib.modules) mkDefault mkIf mkMerge;
|
||||
|
||||
cfg = config.modules.${user}.desktop.terminal;
|
||||
in {
|
||||
options.modules.${user}.desktop.terminal = let
|
||||
inherit (lib.options) mkOption;
|
||||
inherit (lib.types) str;
|
||||
in {
|
||||
default = mkOption {
|
||||
type = str;
|
||||
default = "alacrity";
|
||||
description = "Default terminal";
|
||||
example = "alacrity";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkMerge [
|
||||
{
|
||||
home-manager.users.${user}.home.sessionVariables.TERMINAL = cfg.default;
|
||||
}
|
||||
];
|
||||
}
|
35
modules/home/desktop/terminal/ghostty.nix
Normal file
35
modules/home/desktop/terminal/ghostty.nix
Normal file
|
@ -0,0 +1,35 @@
|
|||
{
|
||||
config,
|
||||
options,
|
||||
lib,
|
||||
pkgs,
|
||||
user,
|
||||
...
|
||||
}: let
|
||||
inherit (builtins) toString;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
in {
|
||||
options.modules.${user}.desktop.terminal.ghostty = let
|
||||
inherit (lib.options) mkEnableOption;
|
||||
in { enable = mkEnableOption "ghostty"; };
|
||||
|
||||
config = mkIf config.modules.${user}.desktop.terminal.ghostty.enable {
|
||||
environment.systemPackages = [
|
||||
pkgs.ghostty
|
||||
];
|
||||
|
||||
modules.${user}.shell.toolset.tmux.enable = true;
|
||||
|
||||
home-manager.users.${user}.programs.ghostty = {
|
||||
enable = true;
|
||||
settings = {
|
||||
background-blur-radius = 20;
|
||||
theme = "dark:everforest,light:everforest";
|
||||
window-theme = "dark";
|
||||
background-opacity = 0.8;
|
||||
minimum-contrast = 1.1;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue