diff --git a/common.nix b/common.nix index d93b56b..29b73ee 100644 --- a/common.nix +++ b/common.nix @@ -29,6 +29,9 @@ with builtins; { environment = { systemPackages = with pkgs; [ + # pynitrokey + # nitrokey-app2 + veracrypt htmlq @@ -87,6 +90,29 @@ with builtins; { }; }; + console.colors = [ + "282828" + "cc241d" + "98971a" + "d79921" + "458588" + "b16286" + "689d6a" + "a89984" + "928374" + "fb4934" + "b8bb26" + "fabd2f" + "83a598" + "d3869b" + "8ec07c" + "ebdbb2" + ]; + + # nitrokey + services.udev.packages = [pkgs.nitrokey-udev-rules]; + services.pcscd.enable = true; + programs = { ssh.startAgent = false; gnupg.agent = { @@ -131,6 +157,9 @@ with builtins; { users.users.jade = { isNormalUser = true; extraGroups = ["wheel" "input" "uinput" "libvirtd" "adbusers" "dialout" "plugdev" "wireshark"]; + openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOaE8TFsIazpn4OnHvHcRpOFr9FfvMaWOiEjmHsmnAoE cardno:000F_70CD7D05" + ]; }; zramSwap = { diff --git a/modules/desktop-environment/panels/xmobar/xmobar.hs b/haskell/xmobar/xmobar.hs similarity index 100% rename from modules/desktop-environment/panels/xmobar/xmobar.hs rename to haskell/xmobar/xmobar.hs diff --git a/modules/desktop-environment/xmonad/xmonad.hs b/haskell/xmonad/xmonad.hs similarity index 100% rename from modules/desktop-environment/xmonad/xmonad.hs rename to haskell/xmonad/xmonad.hs diff --git a/hosts/catbook-j/configuration.nix b/hosts/catbook-j/configuration.nix index 6361745..9379ded 100644 --- a/hosts/catbook-j/configuration.nix +++ b/hosts/catbook-j/configuration.nix @@ -17,30 +17,18 @@ ../../modules ]; jade = { + flatpak.enable = true; desktop = { + compositing.enable = true; syncthing.enable = true; kdeconnect.enable = true; cloud.enable = true; social.enable = true; mail.enable = true; gaming.enable = true; + evremap.enable = true; }; - input.remapping = { - enable = true; - devices."AT Translated Set 2 keyboard" = { - swapKeys = [ - ["KEY_Y" "KEY_Z"] - ["KEY_LEFTALT" "KEY_LEFTMETA"] - ]; - dual_role = [ - { - input = "KEY_CAPSLOCK"; - hold = ["KEY_LEFTCTRL"]; - tap = ["KEY_ESC"]; - } - ]; - }; - }; + terminal.enable = true; }; hardware.trackpoint = { @@ -100,15 +88,55 @@ "/crypto_keyfile.bin" = null; }; + # nixpkgs = { + # overlays = [ + # (self: super: { + # linux_zen_xeniafied = pkgs.linuxPackagesFor (pkgs.linuxKernel.kernels.linux_zen.override { + # structuredExtraConfig = with lib.kernel; { + # "FB" = yes; + # "FRAMEBUFFER_CONSOLE" = yes; + # "VGA_CONSOLE" = yes; + # "VIDEO_SELECT" = yes; + # LOGO = lib.mkForce yes; + # LOGO_LINUX_CLUT224 = yes; + # }; + # ignoreConfigErrors = true; + # }); + # }) + # ]; + # }; + boot.kernelPackages = pkgs.linuxPackages_zen; + # boot.kernelPatches = [ + # { + # name = "fomx"; + # patch = ../../other/0001-fomx.patch; + # } + # ]; + services.xserver.displayManager.autoLogin = { enable = true; user = "jade"; }; - # networking + networking.hostName = "catbook-j"; # Define your hostname. + # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + + # Configure network proxy if necessary + # networking.proxy.default = "http://user:password@proxy:port/"; + # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; + + # Enable networking networking.networkmanager.enable = true; - networking.hostName = "catbook-j"; + + security.pam.services.jade.u2fAuth = true; + programs.i3lock.u2fSupport = true; + security.pam.u2f = { + enable = true; + cue = true; + control = "sufficient"; + authFile = "/home/jade/.ssh/u2f_keys"; + }; i18n.extraLocaleSettings = { LC_ADDRESS = "de_DE.UTF-8"; diff --git a/hosts/monosodium-glutamate-g/configuration.nix b/hosts/monosodium-glutamate-g/configuration.nix index b6cb3d9..7010b36 100644 --- a/hosts/monosodium-glutamate-g/configuration.nix +++ b/hosts/monosodium-glutamate-g/configuration.nix @@ -8,6 +8,24 @@ ../../modules ]; + # nixpkgs = { + # overlays = [ + # (self: super: { + # linux_zen_xeniafied = pkgs.linuxPackagesFor (pkgs.linuxKernel.kernels.linux_zen.override { + # structuredExtraConfig = with lib.kernel; { + # "FB" = yes; + # "FRAMEBUFFER_CONSOLE" = yes; + # "VGA_CONSOLE" = yes; + # "VIDEO_SELECT" = yes; + # LOGO = lib.mkForce yes; + # LOGO_LINUX_CLUT224 = yes; + # }; + # ignoreConfigErrors = true; + # }); + # }) + # ]; + # }; + jade = { flatpak.enable = true; desktop = { @@ -28,8 +46,16 @@ systemd-boot.enable = true; efi.canTouchEfiVariables = true; }; - + # latest linux kernel + #boot.kernelPackages = pkgs.linuxPackages_latest; + #boot.kernelPackages = pkgs.linux_zen_xeniafied; kernelPackages = pkgs.linuxPackages_zen; + # boot.kernelPatches = [ + # { + # name = "fomx"; + # patch = ../other/0001-fomx.patch; + # } + # ]; binfmt.emulatedSystems = ["aarch64-linux"]; }; @@ -56,6 +82,16 @@ enableRedistributableFirmware = true; }; + security.pam.services.jade.u2fAuth = true; + programs.i3lock.u2fSupport = true; + + security.pam.u2f = { + enable = true; + cue = true; + control = "sufficient"; + authFile = "/home/jade/.ssh/u2f_keys"; + }; + # missing: menu-qalc picom-jonaburg environment.systemPackages = with pkgs; [ # TODO: clean up. diff --git a/hosts/potatobook-g/configuration.nix b/hosts/potatobook-g/configuration.nix index c45c889..28a2e87 100644 --- a/hosts/potatobook-g/configuration.nix +++ b/hosts/potatobook-g/configuration.nix @@ -116,8 +116,17 @@ services.gnome.gnome-keyring.enable = true; programs.seahorse.enable = true; security.pam.services.jade.enableGnomeKeyring = true; + security.pam.services.jade.u2fAuth = true; systemd.services."NetworkManager-wait-online".enable = false; + programs.i3lock.u2fSupport = true; + + security.pam.u2f = { + enable = true; + cue = true; + control = "sufficient"; + authFile = "/home/jade/.ssh/u2f_keys"; + }; # services.pixiecore = # let diff --git a/modules/default.nix b/modules/default.nix index adf3726..eb9042c 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -2,9 +2,11 @@ imports = [ ./shell ./desktop - ./hardware + ./terminal.nix + ./flatpak.nix ./firewall.nix - ./desktop-environment - ./input + ./git.nix + ./kmscon.nix + ./mprocs.nix ]; } diff --git a/modules/desktop-environment/default.nix b/modules/desktop-environment/default.nix deleted file mode 100644 index 896469c..0000000 --- a/modules/desktop-environment/default.nix +++ /dev/null @@ -1,11 +0,0 @@ -{...}: { - imports = [ - ./audio.nix - ./compositing.nix - ./dunst.nix - ./panels - ./xmonad - ./terminal.nix - ./flatpak.nix - ]; -} diff --git a/modules/desktop-environment/flatpak.nix b/modules/desktop-environment/flatpak.nix deleted file mode 100644 index cf8b7b2..0000000 --- a/modules/desktop-environment/flatpak.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: { - services.flatpak.enable = true; - xdg.portal = { - enable = true; - # TODO - config.common.default = "*"; - extraPortals = [ - pkgs.xdg-desktop-portal-gtk - ]; - }; -} diff --git a/modules/desktop-environment/panels/default.nix b/modules/desktop-environment/panels/default.nix deleted file mode 100644 index 920a7dc..0000000 --- a/modules/desktop-environment/panels/default.nix +++ /dev/null @@ -1,6 +0,0 @@ -{...}: { - imports = [ - ./xmobar - ./polybar.nix - ]; -} diff --git a/modules/desktop-environment/panels/xmobar/default.nix b/modules/desktop-environment/panels/xmobar/default.nix deleted file mode 100644 index 32a11aa..0000000 --- a/modules/desktop-environment/panels/xmobar/default.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ - lib, - pkgs, - ... -}: { - home-manager.users.jade = { - config, - pkgs, - ... - }: let - xmobarGhc = pkgs.haskellPackages.ghcWithPackages (pkgs: - with pkgs; [ - xmobar - statgrab - ]); - in { - home = { - packages = [xmobarGhc]; - file."xmobar.hs" = rec { - source = ./xmobar.hs; - target = ".config/xmobar/xmobar.hs"; - onChange = '' - ${xmobarGhc}/bin/ghc -threaded ${target} - ${pkgs.busybox}/bin/pkill xmobar - ${pkgs.haskellPackages.xmonad}/bin/xmonad --restart - ''; - }; - }; - programs.xmobar = { - enable = true; - }; - }; -} diff --git a/modules/desktop-environment/terminal.nix b/modules/desktop-environment/terminal.nix deleted file mode 100644 index 23ce2cb..0000000 --- a/modules/desktop-environment/terminal.nix +++ /dev/null @@ -1,36 +0,0 @@ -{...}: { - environment.sessionVariables = { - TERMINAL = "kitty"; - }; - home-manager.users.jade = {pkgs, ...}: { - programs.kitty = { - enable = true; - font = { - name = "FiraCode Nerd Font"; - size = 11; - }; - settings = { - #adjust_column_width = "70%"; - color0 = "#282828"; - color8 = "#928374"; - color1 = "#cc241d"; - color9 = "#fb4934"; - color2 = "#98971a"; - color10 = "#b8bb26"; - color3 = "#d79921"; - color11 = "#fabd2f"; - color4 = "#458588"; - color12 = "#83a598"; - color5 = "#b16286"; - color13 = "#d3869b"; - color6 = "#689d6a"; - color14 = "#8ec07c"; - color7 = "#a89984"; - color15 = "#ebdbb2"; - foreground = "#ebdbb2"; - background = "#282828"; - confirm_os_window_close = 0; - }; - }; - }; -} diff --git a/modules/desktop-environment/xmonad/default.nix b/modules/desktop-environment/xmonad/default.nix deleted file mode 100644 index ec930e4..0000000 --- a/modules/desktop-environment/xmonad/default.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ - lib, - pkgs, - ... -}: { - home-manager.users.jade = { - config, - pkgs, - ... - }: { - home.packages = [pkgs.xmonadctl]; - xsession.windowManager.xmonad = { - enable = true; - enableContribAndExtras = true; - config = ./xmonad.hs; - }; - home.file.wallpaper = { - target = "Pictures/wallpaper.jpg"; - source = ../../../other/wallpaper.jpg; - onChange = '' - feh --bg-fill ~/Pictures/wallpaper.jpg; - ''; - }; - }; -} diff --git a/modules/desktop-environment/audio.nix b/modules/desktop/audio.nix similarity index 100% rename from modules/desktop-environment/audio.nix rename to modules/desktop/audio.nix diff --git a/modules/desktop-environment/compositing.nix b/modules/desktop/compositing.nix similarity index 100% rename from modules/desktop-environment/compositing.nix rename to modules/desktop/compositing.nix diff --git a/modules/desktop/default.nix b/modules/desktop/default.nix index 00e872b..cfc104f 100644 --- a/modules/desktop/default.nix +++ b/modules/desktop/default.nix @@ -15,19 +15,25 @@ in with lib; { imports = [ + ./audio.nix ./gaming.nix ./creative.nix # TODO: more fine grained choices, not every setup needs fspy or rawtherapee + ./dunst.nix + ./compositing.nix ./ios-compat.nix ./syncthing.nix ./kdeconnect.nix ./themeing.nix ./cloud.nix ./networking.nix + ./polybar.nix ./social.nix ./mail.nix + ./specific-hardware + ./evremap.nix + ./xmonad.nix ./fonts.nix ./firefox.nix - ./x.nix ]; i18n.inputMethod = { @@ -46,6 +52,32 @@ in services = { printing.enable = true; gnome.gnome-keyring.enable = true; + + xserver = { + enable = true; + + xkb = { + layout = "us"; + variant = "altgr-intl"; + }; + + libinput = { + enable = true; + }; + + desktopManager = { + xterm.enable = false; + }; + + displayManager = { + defaultSession = "none+xmonad"; + gdm.enable = true; + }; + + windowManager.xmonad = { + enable = true; + }; + }; }; programs.xss-lock = { diff --git a/modules/desktop-environment/dunst.nix b/modules/desktop/dunst.nix similarity index 100% rename from modules/desktop-environment/dunst.nix rename to modules/desktop/dunst.nix diff --git a/modules/desktop/evremap.nix b/modules/desktop/evremap.nix new file mode 100644 index 0000000..cbb72a2 --- /dev/null +++ b/modules/desktop/evremap.nix @@ -0,0 +1,39 @@ +{ + pkgs, + config, + lib, + ... +}: let + cfg = config.jade.desktop.evremap; + evremap = pkgs.rustPlatform.buildRustPackage { + pname = "evremap"; + version = "0.1.0"; + src = pkgs.fetchFromGitHub { + owner = "wez"; + repo = "evremap"; + rev = "4480c4eda223b98899b0fbd926bc34f7bd0e1a18"; + sha256 = "sha256-BxSrphgW1n465FX6bKVkq6O0XE2JqanfSYlsGwWUWkQ="; + }; + cargoHash = ""; + cargoLock.lockFile = ../../other/evremap.Cargo.lock; + postPatch = '' + cp ${../../other/evremap.Cargo.lock} Cargo.lock + ''; + nativeBuildInputs = [pkgs.pkg-config]; + buildInputs = [pkgs.libevdev]; + }; +in + with lib; { + options.jade.desktop.evremap = { + enable = mkEnableOption "Enable evremap"; + }; + config = mkIf cfg.enable { + systemd.services.evremap = { + script = "${evremap}/bin/evremap remap ${../../other/remaps-${config.networking.hostName}.toml}"; + wantedBy = ["multi-user.target"]; + unitConfig = { + Restart = "on-failure"; + }; + }; + }; + } diff --git a/modules/desktop-environment/panels/polybar.nix b/modules/desktop/polybar.nix similarity index 100% rename from modules/desktop-environment/panels/polybar.nix rename to modules/desktop/polybar.nix diff --git a/modules/hardware/default.nix b/modules/desktop/specific-hardware/default.nix similarity index 80% rename from modules/hardware/default.nix rename to modules/desktop/specific-hardware/default.nix index a28d10f..8faabd2 100644 --- a/modules/hardware/default.nix +++ b/modules/desktop/specific-hardware/default.nix @@ -7,6 +7,5 @@ imports = [ ./spacenav.nix ./wacom.nix - ./hardware_key.nix ]; } diff --git a/modules/hardware/spacenav.nix b/modules/desktop/specific-hardware/spacenav.nix similarity index 100% rename from modules/hardware/spacenav.nix rename to modules/desktop/specific-hardware/spacenav.nix diff --git a/modules/hardware/wacom.nix b/modules/desktop/specific-hardware/wacom.nix similarity index 100% rename from modules/hardware/wacom.nix rename to modules/desktop/specific-hardware/wacom.nix diff --git a/modules/desktop/x.nix b/modules/desktop/x.nix deleted file mode 100644 index dab34ec..0000000 --- a/modules/desktop/x.nix +++ /dev/null @@ -1,18 +0,0 @@ -{...}: { - services.xserver = { - enable = true; - - desktopManager = { - xterm.enable = false; - }; - - displayManager = { - defaultSession = "none+xmonad"; - gdm.enable = true; - }; - - windowManager.xmonad = { - enable = true; - }; - }; -} diff --git a/modules/desktop/xmonad.nix b/modules/desktop/xmonad.nix new file mode 100644 index 0000000..9f806a3 --- /dev/null +++ b/modules/desktop/xmonad.nix @@ -0,0 +1,43 @@ +{ + lib, + pkgs, + ... +}: { + home-manager.users.jade = { + config, + pkgs, + ... + }: let + xmobarGhc = pkgs.haskellPackages.ghcWithPackages (pkgs: + with pkgs; [ + xmobar + statgrab + ]); + in { + home.packages = [xmobarGhc pkgs.xmonadctl]; + programs.xmobar = { + enable = true; + }; + home.file."xmobar.hs" = rec { + source = ../../haskell/xmobar/xmobar.hs; + target = ".config/xmobar/xmobar.hs"; + onChange = '' + ${xmobarGhc}/bin/ghc -threaded ${target} + ${pkgs.busybox}/bin/pkill xmobar + ${pkgs.haskellPackages.xmonad}/bin/xmonad --restart + ''; + }; + xsession.windowManager.xmonad = { + enable = true; + enableContribAndExtras = true; + config = ../../haskell/xmonad/xmonad.hs; + }; + home.file.wallpaper = { + target = "Pictures/wallpaper.jpg"; + source = ../../other/wallpaper.jpg; + onChange = '' + feh --bg-fill ~/Pictures/wallpaper.jpg; + ''; + }; + }; +} diff --git a/modules/flatpak.nix b/modules/flatpak.nix new file mode 100644 index 0000000..e3683fe --- /dev/null +++ b/modules/flatpak.nix @@ -0,0 +1,24 @@ +{ + config, + lib, + pkgs, + ... +}: let + cfg = config.jade.flatpak; +in + with lib; { + options.jade.flatpak = { + enable = mkEnableOption "Enable flatpak"; + }; + config = mkIf cfg.enable { + services.flatpak.enable = true; + xdg.portal = { + enable = true; + # TODO + config.common.default = "*"; + extraPortals = [ + pkgs.xdg-desktop-portal-gtk + ]; + }; + }; + } diff --git a/modules/shell/git.nix b/modules/git.nix similarity index 100% rename from modules/shell/git.nix rename to modules/git.nix diff --git a/modules/hardware/hardware_key.nix b/modules/hardware/hardware_key.nix deleted file mode 100644 index 8510d86..0000000 --- a/modules/hardware/hardware_key.nix +++ /dev/null @@ -1,20 +0,0 @@ -{pkgs, ...}: { - # nitrokey - services.udev.packages = [pkgs.nitrokey-udev-rules]; - - # smartcard daemon - services.pcscd.enable = true; - - # authenticate using hw key - security.pam = { - services.jade.u2fAuth = true; - u2f = { - enable = true; - cue = true; - control = "sufficient"; - authFile = "/home/jade/.ssh/u2f_keys"; - }; - }; - - programs.i3lock.u2fSupport = true; -} diff --git a/modules/input/default.nix b/modules/input/default.nix deleted file mode 100644 index 88302da..0000000 --- a/modules/input/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -{...}: { - imports = [ - ./evremap.nix - ]; - services.xserver = { - xkb = { - layout = "us"; - variant = "altgr-intl"; - }; - - libinput = { - enable = true; - }; - }; -} diff --git a/modules/input/evremap.nix b/modules/input/evremap.nix deleted file mode 100644 index 1880eb9..0000000 --- a/modules/input/evremap.nix +++ /dev/null @@ -1,110 +0,0 @@ -{ - pkgs, - config, - lib, - utils, - ... -}: let - cfg = config.jade.input.remapping; - evremap = pkgs.rustPlatform.buildRustPackage { - pname = "evremap"; - version = "0.1.0"; - src = pkgs.fetchFromGitHub { - owner = "wez"; - repo = "evremap"; - rev = "4480c4eda223b98899b0fbd926bc34f7bd0e1a18"; - sha256 = "sha256-BxSrphgW1n465FX6bKVkq6O0XE2JqanfSYlsGwWUWkQ="; - }; - cargoHash = ""; - cargoLock.lockFile = ../../other/evremap.Cargo.lock; - postPatch = '' - cp ${../../other/evremap.Cargo.lock} Cargo.lock - ''; - nativeBuildInputs = [pkgs.pkg-config]; - buildInputs = [pkgs.libevdev]; - }; - toml = pkgs.formats.toml {}; -in - with lib; { - options.jade.input.remapping = { - enable = mkEnableOption "Enable evremap"; - devices = mkOption { - type = types.attrsOf (types.submodule ({name, ...}: { - options = { - device_name = mkOption { - type = types.str; - description = "The device name"; - default = name; - }; - remap = mkOption { - type = types.listOf (types.submodule ({...}: { - options.input = mkOption {type = types.listOf types.str;}; - options.output = mkOption {type = types.listOf types.str;}; - })); - default = []; - }; - swapKeys = mkOption { - description = "Lists with two keys to be swapped on the keyboard layout."; - type = types.listOf ( - # verify that each key swapping list contains two elements - types.addCheck (types.listOf types.str) (v: builtins.length v == 2) - ); - default = []; - }; - dual_role = mkOption { - type = types.listOf (types.submodule ({...}: { - options.input = mkOption {type = types.str;}; - options.hold = mkOption {type = types.listOf types.str;}; - options.tap = mkOption {type = types.listOf types.str;}; - })); - default = []; - }; - }; - })); - }; - }; - config = mkIf cfg.enable ( - with builtins; let - devs = map ({ - device_name, - remap, - swapKeys, - dual_role, - }: { - inherit device_name dual_role; - - # expand swapKeys to normal remaps - remap = concatLists [ - remap - (lib.lists.flatten (map (keys: [ - { - input = [(head keys)]; - output = [(lib.lists.last keys)]; - } - { - input = [(lib.lists.last keys)]; - output = [(head keys)]; - } - ]) - swapKeys)) - ]; - }) (attrValues cfg.devices); - in { - # generate numbered systemd services for each device to be remapped - # https://github.com/wez/evremap/issues/17 - systemd.services = listToAttrs (genList (i: { - name = "evremap${toString i}"; - value = let - cfgFile = toml.generate "remaps-${toString i}.toml" (elemAt devs i); - in { - script = "${evremap}/bin/evremap remap ${cfgFile}"; - wantedBy = ["multi-user.target"]; - unitConfig = { - Restart = "on-failure"; - }; - }; - }) (length devs)); - environment.systemPackages = [evremap]; - } - ); - } diff --git a/modules/shell/tty.nix b/modules/kmscon.nix similarity index 88% rename from modules/shell/tty.nix rename to modules/kmscon.nix index 3070907..4c859bd 100644 --- a/modules/shell/tty.nix +++ b/modules/kmscon.nix @@ -34,26 +34,6 @@ (getAttr (substring 5 2 (toUpper color)) hexLookupTable) ]); in { - # TODO: global colorscheme vars for everything - console.colors = [ - "282828" - "cc241d" - "98971a" - "d79921" - "458588" - "b16286" - "689d6a" - "a89984" - "928374" - "fb4934" - "b8bb26" - "fabd2f" - "83a598" - "d3869b" - "8ec07c" - "ebdbb2" - ]; - services.kmscon = { enable = true; fonts = [ diff --git a/modules/shell/mprocs.nix b/modules/mprocs.nix similarity index 100% rename from modules/shell/mprocs.nix rename to modules/mprocs.nix diff --git a/modules/shell/default.nix b/modules/shell/default.nix index 6f7f4db..4134bbc 100644 --- a/modules/shell/default.nix +++ b/modules/shell/default.nix @@ -6,9 +6,6 @@ ./zellij.nix ./carapace.nix ./direnv.nix - ./tty.nix - ./git.nix - ./mprocs.nix ]; programs.mosh.enable = true; } diff --git a/modules/terminal.nix b/modules/terminal.nix new file mode 100644 index 0000000..1366350 --- /dev/null +++ b/modules/terminal.nix @@ -0,0 +1,49 @@ +{ + config, + lib, + pkgs, + ... +}: let + cfg = config.jade.terminal; +in + with lib; { + options.jade.terminal = { + enable = mkEnableOption "Enable Kitty"; + }; + config = mkIf cfg.enable { + environment.sessionVariables = rec { + TERMINAL = "kitty"; + }; + home-manager.users.jade = {pkgs, ...}: { + programs.kitty = { + enable = true; + font = { + name = "FiraCode Nerd Font"; + size = 11; + }; + settings = { + #adjust_column_width = "70%"; + color0 = "#282828"; + color8 = "#928374"; + color1 = "#cc241d"; + color9 = "#fb4934"; + color2 = "#98971a"; + color10 = "#b8bb26"; + color3 = "#d79921"; + color11 = "#fabd2f"; + color4 = "#458588"; + color12 = "#83a598"; + color5 = "#b16286"; + color13 = "#d3869b"; + color6 = "#689d6a"; + color14 = "#8ec07c"; + color7 = "#a89984"; + color15 = "#ebdbb2"; + foreground = "#ebdbb2"; + background = "#282828"; + confirm_os_window_close = 0; + }; + }; + }; + }; + } diff --git a/other/config.nu b/other/config.nu index 2a1a022..7b1d322 100644 --- a/other/config.nu +++ b/other/config.nu @@ -831,6 +831,3 @@ alias cr = cargo run; alias cl = cargo clippy; alias cb = cargo build; alias cch = cargo check; - -alias togglecaps = xdotool key Caps_Lock; -alias TOGGLECAPS = togglecaps; diff --git a/other/remaps-catbook-j.toml b/other/remaps-catbook-j.toml new file mode 100644 index 0000000..6a6067f --- /dev/null +++ b/other/remaps-catbook-j.toml @@ -0,0 +1,22 @@ +device_name = "AT Translated Set 2 keyboard" + +[[remap]] +input = [ "KEY_Y" ] +output = [ "KEY_Z" ] + +[[remap]] +input = [ "KEY_Z" ] +output = [ "KEY_Y" ] + +[[remap]] +input = [ "KEY_LEFTALT" ] +output = [ "KEY_LEFTMETA" ] + +[[remap]] +input = [ "KEY_LEFTMETA" ] +output = [ "KEY_LEFTALT" ] + +[[dual_role]] +input = "KEY_CAPSLOCK" +hold = ["KEY_LEFTCTRL"] +tap = ["KEY_ESC"]