From 372d7e4bbc62f528dad9a09e47b53ff64d4068ab Mon Sep 17 00:00:00 2001 From: Emmet Date: Thu, 21 Mar 2024 19:04:08 -0500 Subject: [PATCH 1/6] Got a usb numpad and replaced sc with numbat --- profiles/work/configuration.nix | 2 +- profiles/work/home.nix | 1 + user/shell/cli-collection.nix | 5 +++-- user/wm/hyprland/hyprland.nix | 19 ++++++++++++++++++- 4 files changed, 23 insertions(+), 4 deletions(-) diff --git a/profiles/work/configuration.nix b/profiles/work/configuration.nix index cf3e98f..561aa66 100644 --- a/profiles/work/configuration.nix +++ b/profiles/work/configuration.nix @@ -76,7 +76,7 @@ users.users.${userSettings.username} = { isNormalUser = true; description = userSettings.name; - extraGroups = [ "networkmanager" "wheel" ]; + extraGroups = [ "networkmanager" "wheel" "input" "dialout" ]; packages = []; uid = 1000; }; diff --git a/profiles/work/home.nix b/profiles/work/home.nix index 682701b..2dd19bd 100644 --- a/profiles/work/home.nix +++ b/profiles/work/home.nix @@ -56,6 +56,7 @@ openvpn protonmail-bridge texliveSmall + numbat wine bottles diff --git a/user/shell/cli-collection.nix b/user/shell/cli-collection.nix index aa5ae53..ce93f72 100644 --- a/user/shell/cli-collection.nix +++ b/user/shell/cli-collection.nix @@ -20,9 +20,10 @@ pandoc hwinfo pciutils + numbat (pkgs.callPackage ../pkgs/smartcalc.nix { }) - (pkgs.writeShellScriptBin "sc" ''smartcalc'') - (pkgs.callPackage ../pkgs/pokemon-colorscripts.nix { }) + #(pkgs.writeShellScriptBin "sc" ''smartcalc'') + #(pkgs.callPackage ../pkgs/pokemon-colorscripts.nix { }) #(pkgs.python3Packages.callPackage ../pkgs/impressive.nix { }) (pkgs.writeShellScriptBin "airplane-mode" '' #!/bin/sh diff --git a/user/wm/hyprland/hyprland.nix b/user/wm/hyprland/hyprland.nix index 1d2ca92..36a4ad3 100644 --- a/user/wm/hyprland/hyprland.nix +++ b/user/wm/hyprland/hyprland.nix @@ -110,6 +110,7 @@ bindm=SUPER,mouse:273,resizewindow bind=SUPER,T,togglefloating bind=SUPER,G,exec,hyprworkspace 9; pegasus-fe; + bind=,code:148,exec,''+ userSettings.term + " "+''-e numbat bind=,code:107,exec,grim -g "$(slurp)" bind=SHIFT,code:107,exec,grim -g "$(slurp -o)" @@ -432,7 +433,7 @@ margin = "7 7 3 7"; spacing = 2; - modules-left = [ "custom/os" "custom/hyprprofile" "battery" "backlight" "pulseaudio" "cpu" "memory" ]; + modules-left = [ "custom/os" "custom/hyprprofile" "battery" "backlight" "keyboard-state" "pulseaudio" "cpu" "memory" ]; modules-center = [ "hyprland/workspaces" ]; modules-right = [ "idle_inhibitor" "tray" "clock" ]; @@ -447,6 +448,14 @@ "interval" = 3; "on-click" = "hyprprofile-dmenu"; }; + "keyboard-state" = { + "numlock" = true; + "format" = " {icon} "; + "format-icons" = { + "locked" = "󰎠"; + "unlocked" = "󱧓"; + }; + }; "hyprland/workspaces" = { "format" = "{icon}"; "format-icons" = { @@ -702,6 +711,14 @@ color: #'' + config.lib.stylix.colors.base0A + ''; } + label.numlock { + color: #'' + config.lib.stylix.colors.base04 + ''; + } + + label.numlock.locked { + color: #'' + config.lib.stylix.colors.base0F + ''; + } + #pulseaudio { color: #'' + config.lib.stylix.colors.base0C + ''; } From e8cccf10f061a76c3c9bc67b9dba6a7cd94a5199 Mon Sep 17 00:00:00 2001 From: Emmet Date: Fri, 22 Mar 2024 12:38:55 -0500 Subject: [PATCH 2/6] Added extra media packages --- profiles/work/home.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/profiles/work/home.nix b/profiles/work/home.nix index 2dd19bd..28eacf3 100644 --- a/profiles/work/home.nix +++ b/profiles/work/home.nix @@ -129,6 +129,9 @@ libmediainfo mediainfo-gui audio-recorder + gnome.cheese + ardour + tenacity # Various dev packages texinfo From 7d2f529896b0b4a514823493d078c4f71aab2b04 Mon Sep 17 00:00:00 2001 From: Emmet Date: Fri, 22 Mar 2024 13:43:28 -0500 Subject: [PATCH 3/6] Updated system --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 6797c04..480ad5e 100644 --- a/flake.lock +++ b/flake.lock @@ -150,11 +150,11 @@ "blocklist-hosts": { "flake": false, "locked": { - "lastModified": 1710515083, - "narHash": "sha256-3ve+IZzSpMigIIIW7x/WVSkm/5IyKb0ggFLcanbzskU=", + "lastModified": 1711027794, + "narHash": "sha256-aT+e3dh4rRL0uKGY95tqwIHV31OM7Mv8kctpNpDaI88=", "owner": "StevenBlack", "repo": "hosts", - "rev": "7c0ba20a0a205e3bf89a34d6fa5776980b3bec27", + "rev": "cf3c7f5740192c9ebaa7270e5e487c6fa0f47859", "type": "github" }, "original": { @@ -199,11 +199,11 @@ "eaf": { "flake": false, "locked": { - "lastModified": 1710401124, - "narHash": "sha256-9aIf/OEryv1gJ8oC1jX5dbPy0ZPhDgSfaan3PEVwwQc=", + "lastModified": 1711033476, + "narHash": "sha256-4CPhEO4d66GzD3vOcNyRl6DmRDYiiIeRhX/9RUPZ+PM=", "owner": "emacs-eaf", "repo": "emacs-application-framework", - "rev": "c71bf1fe0206964153a0b2e49149244c6b96f875", + "rev": "9bf8caba36e27fafcef5d8e68969a1a8eb5432ed", "type": "github" }, "original": { @@ -466,11 +466,11 @@ ] }, "locked": { - "lastModified": 1710532761, - "narHash": "sha256-SUXGZNrXX05YA9G6EmgupxhOr3swI1gcxLUeDMUhrEY=", + "lastModified": 1711122977, + "narHash": "sha256-EnHux7wf7/7r+YMv8d/Ym1OTllp4sqqq0Bws1a4s2Zo=", "owner": "nix-community", "repo": "home-manager", - "rev": "206f457fffdb9a73596a4cb2211a471bd305243d", + "rev": "19b87b9ae6ecfd81104a2a36ef8364f1de1b54b1", "type": "github" }, "original": { @@ -504,11 +504,11 @@ "hyprland-plugins": { "flake": false, "locked": { - "lastModified": 1710512163, - "narHash": "sha256-bj3waHL6vTBWPw4f+vUdJ1MC5I8UWv2mNX3v/FPHBKQ=", + "lastModified": 1711047490, + "narHash": "sha256-uyUenHmRzOdXajeYWA70C2+uzDeiqkiMcaBr3uKs28s=", "owner": "hyprwm", "repo": "hyprland-plugins", - "rev": "50758aa0244372af3d6f058dce39970a8d96ce2d", + "rev": "adec334acfb453014cdff1e5f070bb7c1c4e4a9b", "type": "github" }, "original": { @@ -597,11 +597,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1710451336, - "narHash": "sha256-pP86Pcfu3BrAvRO7R64x7hs+GaQrjFes+mEPowCfkxY=", + "lastModified": 1711001935, + "narHash": "sha256-URtGpHue7HHZK0mrHnSf8wJ6OmMKYSsoLmJybrOLFSQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d691274a972b3165335d261cc4671335f5c67de9", + "rev": "20f77aa09916374aa3141cbc605c955626762c9a", "type": "github" }, "original": { @@ -612,11 +612,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1710420202, - "narHash": "sha256-MvFKESbq4rUWuaf2RKPNYENaSZEw/jaCLo2gU6oREcM=", + "lastModified": 1710951922, + "narHash": "sha256-FOOBJ3DQenLpTNdxMHR2CpGZmYuctb92gF0lpiirZ30=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "878ef7d9721bee9f81f8a80819f9211ad1f993da", + "rev": "f091af045dff8347d66d186a62d42aceff159456", "type": "github" }, "original": { @@ -892,11 +892,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1710555016, - "narHash": "sha256-Lbdq3/TH4VrrR7A6FxIYwu5tFOcprYh8Q49Nc9s/i6c=", + "lastModified": 1711073443, + "narHash": "sha256-PpNb4xq7U5Q/DdX40qe7CijUsqhVVM3VZrhN0+c6Lcw=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "42baa9e2e4713572d7481f917243b07dffdf54b8", + "rev": "eec55ba9fcde6be4c63942827247e42afef7fafe", "type": "github" }, "original": { @@ -938,11 +938,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1710420453, - "narHash": "sha256-F/JfpPRpIkFqvYEtt55lZyaFd+/vhn9SrcQrXIZCkOU=", + "lastModified": 1711106191, + "narHash": "sha256-WX1Tyb94jB3ksSQ5UtlTY/1UBsO7FlFNPjG3BXt9/0Q=", "owner": "danth", "repo": "stylix", - "rev": "eb64377e66122de7a36ca7a611aa97ddf4c8e5e8", + "rev": "4da2d793e586f3f45a54fb9755ee9bf39d3cd52e", "type": "github" }, "original": { From 3cffd545255267a4a2f651e580a9ceee130f2f02 Mon Sep 17 00:00:00 2001 From: Emmet Date: Fri, 22 Mar 2024 13:43:56 -0500 Subject: [PATCH 4/6] Pinned doom emacs so system updates are quicker and more stable --- flake.lock | 16 ++++++++++++++++ flake.nix | 13 ++++++++++--- user/app/doom-emacs/config.el | 2 +- user/app/doom-emacs/doom.nix | 22 +++++++++++++--------- user/app/doom-emacs/doom.org | 24 ++++++++++++++---------- 5 files changed, 54 insertions(+), 23 deletions(-) diff --git a/flake.lock b/flake.lock index 480ad5e..86eb2c9 100644 --- a/flake.lock +++ b/flake.lock @@ -245,6 +245,21 @@ "type": "github" } }, + "emacs-pin-nixpkgs": { + "locked": { + "lastModified": 1707268954, + "narHash": "sha256-2en1kvde3cJVc3ZnTy8QeD2oKcseLFjYPLKhIGDanQ0=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "f8e2ebd66d097614d51a56a755450d4ae1632df1", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "rev": "f8e2ebd66d097614d51a56a755450d4ae1632df1", + "type": "indirect" + } + }, "emacs-so-long": { "flake": false, "locked": { @@ -854,6 +869,7 @@ "blocklist-hosts": "blocklist-hosts", "eaf": "eaf", "eaf-browser": "eaf-browser", + "emacs-pin-nixpkgs": "emacs-pin-nixpkgs", "home-manager": "home-manager", "hyprland-plugins": "hyprland-plugins", "kdenlive-pin-nixpkgs": "kdenlive-pin-nixpkgs", diff --git a/flake.nix b/flake.nix index 6556510..8064182 100644 --- a/flake.nix +++ b/flake.nix @@ -1,9 +1,10 @@ { description = "Flake of LibrePhoenix"; - outputs = inputs@{ self, nixpkgs, nixpkgs-stable, kdenlive-pin-nixpkgs, home-manager, nix-doom-emacs, - nix-straight, stylix, blocklist-hosts, hyprland-plugins, rust-overlay, - org-nursery, org-yaap, org-side-tree, org-timeblock, phscroll, ... }: + outputs = inputs@{ self, nixpkgs, nixpkgs-stable, emacs-pin-nixpkgs, kdenlive-pin-nixpkgs, + home-manager, nix-doom-emacs, nix-straight, stylix, blocklist-hosts, + hyprland-plugins, rust-overlay, org-nursery, org-yaap, org-side-tree, + org-timeblock, phscroll, ... }: let # ---- SYSTEM SETTINGS ---- # systemSettings = { @@ -74,6 +75,10 @@ }; }; + pkgs-emacs = import emacs-pin-nixpkgs { + system = systemSettings.system; + }; + pkgs-kdenlive = import kdenlive-pin-nixpkgs { system = systemSettings.system; }; @@ -103,6 +108,7 @@ extraSpecialArgs = { # pass config variables from above inherit pkgs-stable; + inherit pkgs-emacs; inherit pkgs-kdenlive; inherit systemSettings; inherit userSettings; @@ -161,6 +167,7 @@ inputs = { nixpkgs.url = "nixpkgs/nixos-unstable"; nixpkgs-stable.url = "nixpkgs/nixos-23.11"; + emacs-pin-nixpkgs.url = "nixpkgs/f8e2ebd66d097614d51a56a755450d4ae1632df1"; kdenlive-pin-nixpkgs.url = "nixpkgs/cfec6d9203a461d9d698d8a60ef003cac6d0da94"; home-manager.url = "github:nix-community/home-manager/master"; diff --git a/user/app/doom-emacs/config.el b/user/app/doom-emacs/config.el index 6c40833..b43a161 100644 --- a/user/app/doom-emacs/config.el +++ b/user/app/doom-emacs/config.el @@ -1246,7 +1246,7 @@ https://github.com/magit/magit/issues/460 (@cpitclaudel)." "q" 'helpful-kill-buffers) ;;;------ helpful configuration ------;;; -(add-load-path! "~/.nix-profile/share/emacs/site-lisp/elpa/mu4e-1.12.1") +(add-load-path! "~/.nix-profile/share/emacs/site-lisp/elpa/mu4e-1.10.8") (require 'mu4e) (require 'mu4e-contrib) (require 'mu4e-actions) diff --git a/user/app/doom-emacs/doom.nix b/user/app/doom-emacs/doom.nix index 2bb1cb7..6327dca 100644 --- a/user/app/doom-emacs/doom.nix +++ b/user/app/doom-emacs/doom.nix @@ -1,13 +1,19 @@ -{ config, lib, pkgs, pkgs-stable, userSettings, systemSettings, +{ config, lib, pkgs-emacs, pkgs-stable, userSettings, systemSettings, org-nursery, org-yaap, org-side-tree, org-timeblock, phscroll, ... }: let themePolarity = lib.removeSuffix "\n" (builtins.readFile (./. + "../../../../themes"+("/"+userSettings.theme)+"/polarity.txt")); dashboardLogo = ./. + "/nix-" + themePolarity + ".png"; in { + imports = [ + ../git/git.nix + ../../shell/sh.nix + ../../shell/cli-collection.nix + ]; + programs.doom-emacs = { enable = true; - emacsPackage = pkgs.emacs29-pgtk; + emacsPackage = pkgs-emacs.emacs29-pgtk; doomPrivateDir = ./.; # This block from https://github.com/znewman01/dotfiles/blob/be9f3a24c517a4ff345f213bf1cf7633713c9278/emacs/default.nix#L12-L34 # Only init/packages so we only rebuild when those change. @@ -18,7 +24,7 @@ in filter = path: type: builtins.elem (baseNameOf path) [ "init.el" "packages.el" ]; }; - in pkgs.linkFarm "doom-packages-dir" [ + in pkgs-emacs.linkFarm "doom-packages-dir" [ { name = "init.el"; path = "${filteredPath}/init.el"; @@ -29,7 +35,7 @@ in } { name = "config.el"; - path = pkgs.emptyFile; + path = pkgs-emacs.emptyFile; } ]; # End block @@ -40,18 +46,16 @@ in extension = ".el"; }; - home.packages = (with pkgs; [ + home.packages = (with pkgs-emacs; [ nil nixfmt - git file wmctrl jshon aria hledger hunspell hunspellDicts.en_US-large - pandoc - (pkgs.mu.override { emacs = emacs29-pgtk; }) + (pkgs-emacs.mu.override { emacs = emacs29-pgtk; }) emacsPackages.mu4e isync msmtp @@ -70,7 +74,7 @@ in services.mbsync = { enable = true; - package = pkgs.isync; + package = pkgs-stable.isync; frequency = "*:0/5"; }; diff --git a/user/app/doom-emacs/doom.org b/user/app/doom-emacs/doom.org index 8fd8669..61bda1d 100644 --- a/user/app/doom-emacs/doom.org +++ b/user/app/doom-emacs/doom.org @@ -1469,7 +1469,7 @@ I don't have this active right now since it's kinda weird with pgtk... ** mu4e Configuration #+BEGIN_SRC emacs-lisp :tangle config.el ;;;------ helpful configuration ------;;; -(add-load-path! "~/.nix-profile/share/emacs/site-lisp/elpa/mu4e-1.12.1") +(add-load-path! "~/.nix-profile/share/emacs/site-lisp/elpa/mu4e-1.10.8") (require 'mu4e) (require 'mu4e-contrib) (require 'mu4e-actions) @@ -1934,16 +1934,22 @@ Any git package can be configured for a particular commit or branch: * Nix Integration In order to have Nix load my Doom Emacs configuration [[./doom.nix][doom.nix]], which I source in the =imports= block of my [[../../../profiles/work/home.nix][home.nix]]. #+BEGIN_SRC nix :tangle doom.nix -{ config, lib, pkgs, pkgs-stable, userSettings, systemSettings, +{ config, lib, pkgs-emacs, pkgs-stable, userSettings, systemSettings, org-nursery, org-yaap, org-side-tree, org-timeblock, phscroll, ... }: let themePolarity = lib.removeSuffix "\n" (builtins.readFile (./. + "../../../../themes"+("/"+userSettings.theme)+"/polarity.txt")); dashboardLogo = ./. + "/nix-" + themePolarity + ".png"; in { + imports = [ + ../git/git.nix + ../../shell/sh.nix + ../../shell/cli-collection.nix + ]; + programs.doom-emacs = { enable = true; - emacsPackage = pkgs.emacs29-pgtk; + emacsPackage = pkgs-emacs.emacs29-pgtk; doomPrivateDir = ./.; # This block from https://github.com/znewman01/dotfiles/blob/be9f3a24c517a4ff345f213bf1cf7633713c9278/emacs/default.nix#L12-L34 # Only init/packages so we only rebuild when those change. @@ -1954,7 +1960,7 @@ in filter = path: type: builtins.elem (baseNameOf path) [ "init.el" "packages.el" ]; }; - in pkgs.linkFarm "doom-packages-dir" [ + in pkgs-emacs.linkFarm "doom-packages-dir" [ { name = "init.el"; path = "${filteredPath}/init.el"; @@ -1965,7 +1971,7 @@ in } { name = "config.el"; - path = pkgs.emptyFile; + path = pkgs-emacs.emptyFile; } ]; # End block @@ -1976,18 +1982,16 @@ in extension = ".el"; }; - home.packages = (with pkgs; [ + home.packages = (with pkgs-emacs; [ nil nixfmt - git file wmctrl jshon aria hledger hunspell hunspellDicts.en_US-large - pandoc - (pkgs.mu.override { emacs = emacs29-pgtk; }) + (pkgs-emacs.mu.override { emacs = emacs29-pgtk; }) emacsPackages.mu4e isync msmtp @@ -2006,7 +2010,7 @@ in services.mbsync = { enable = true; - package = pkgs.isync; + package = pkgs-stable.isync; frequency = "*:0/5"; }; From 73c5e63babed53252aa5fc16ebd4ccb1c2428cf7 Mon Sep 17 00:00:00 2001 From: Emmet Date: Fri, 22 Mar 2024 13:44:34 -0500 Subject: [PATCH 5/6] Updated deprecated zsh autosuggestion option name --- user/shell/sh.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/user/shell/sh.nix b/user/shell/sh.nix index ff3467b..b96d8b2 100644 --- a/user/shell/sh.nix +++ b/user/shell/sh.nix @@ -18,9 +18,9 @@ in { programs.zsh = { enable = true; - enableAutosuggestions = true; - enableCompletion = true; + autosuggestion.enable = true; syntaxHighlighting.enable = true; + enableCompletion = true; shellAliases = myAliases; initExtra = '' PROMPT=" ◉ %U%F{magenta}%n%f%u@%U%F{blue}%m%f%u:%F{yellow}%~%f From 9c6334f57e30f09d94f0e8d1ad1d259c7e130963 Mon Sep 17 00:00:00 2001 From: Emmet Date: Fri, 22 Mar 2024 15:41:41 -0500 Subject: [PATCH 6/6] Incorporated some config from work computer --- profiles/work/home.nix | 1 + user/wm/hyprland/hyprland.nix | 25 +++++--- user/wm/input/nihongo.nix | 111 ++++++++++++++++++++++++++++++++++ 3 files changed, 129 insertions(+), 8 deletions(-) create mode 100644 user/wm/input/nihongo.nix diff --git a/profiles/work/home.nix b/profiles/work/home.nix index 28eacf3..f535d01 100644 --- a/profiles/work/home.nix +++ b/profiles/work/home.nix @@ -46,6 +46,7 @@ # Office libreoffice-fresh mate.atril + openboard xournalpp glib newsflash diff --git a/user/wm/hyprland/hyprland.nix b/user/wm/hyprland/hyprland.nix index 36a4ad3..bc2d8e6 100644 --- a/user/wm/hyprland/hyprland.nix +++ b/user/wm/hyprland/hyprland.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, userSettings, ... }: +{ config, lib, pkgs, userSettings, systemSettings, ... }: { imports = [ @@ -7,10 +7,13 @@ (import ../../app/dmenu-scripts/networkmanager-dmenu.nix { dmenu_command = "fuzzel -d"; inherit config lib pkgs; }) - (import ./hyprprofiles/hyprprofiles.nix { - dmenuCmd = "fuzzel -d"; inherit config lib pkgs; - }) - ]; + ../input/nihongo.nix + ] ++ + (if (systemSettings.profile == "personal") then + [ (import ./hyprprofiles/hyprprofiles.nix { + dmenuCmd = "fuzzel -d"; inherit config lib pkgs; })] + else + []); gtk.cursorTheme = { package = pkgs.quintom-cursor-theme; @@ -224,9 +227,13 @@ monitor=HDMI-A-1,1920x1080,1920x0,1 monitor=DP-1,1920x1080,0x0,1 - # 2 monitor setup + # hdmi tv #monitor=eDP-1,1920x1080,1920x0,1 - #monitor=DP-1,1920x1200,0x0,1 + #monitor=HDMI-A-1,1920x1080,0x0,1 + + # hdmi work projector + #monitor=eDP-1,1920x1080,1920x0,1 + #monitor=HDMI-A-1,1920x1200,0x0,1 xwayland { force_zero_scaling = true @@ -245,6 +252,7 @@ } misc { + disable_hyprland_logo = true mouse_move_enables_dpms = false } decoration { @@ -302,7 +310,7 @@ #!/bin/sh imgname="/tmp/screenshot-ocr-$(date +%Y%m%d%H%M%S).png" txtname="/tmp/screenshot-ocr-$(date +%Y%m%d%H%M%S)" - txtfname="/tmp/screenshot-ocr-$(date +%Y%m%d%H%M%S).txt" + txtfname=$txtname.txt grim -g "$(slurp)" $imgname; tesseract $imgname $txtname; wl-copy -n < $txtfname @@ -750,6 +758,7 @@ background-size: auto 100%; } ''; + services.udiskie.enable = true; services.udiskie.tray = "always"; programs.swaylock = { diff --git a/user/wm/input/nihongo.nix b/user/wm/input/nihongo.nix new file mode 100644 index 0000000..0d75797 --- /dev/null +++ b/user/wm/input/nihongo.nix @@ -0,0 +1,111 @@ +{ pkgs, ... }: + +{ + i18n.inputMethod = { + enabled = "fcitx5"; + fcitx5.addons = with pkgs; [ + fcitx5-mozc + fcitx5-gtk + ]; + }; + home.file.".config/fcitx5/config".text = '' + [Hotkey] + # Enumerate when press trigger key repeatedly + EnumerateWithTriggerKeys=True + # Temporally switch between first and current Input Method + AltTriggerKeys= + # Enumerate Input Method Forward + EnumerateForwardKeys= + # Enumerate Input Method Backward + EnumerateBackwardKeys= + # Skip first input method while enumerating + EnumerateSkipFirst=False + # Toggle embedded preedit + TogglePreedit= + + [Hotkey/TriggerKeys] + 0=Super+comma + + [Hotkey/EnumerateGroupForwardKeys] + 0=Super+space + + [Hotkey/EnumerateGroupBackwardKeys] + 0=Shift+Super+space + + [Hotkey/ActivateKeys] + 0=Hangul_Hanja + + [Hotkey/DeactivateKeys] + 0=Hangul_Romaja + + [Hotkey/PrevPage] + 0=Up + + [Hotkey/NextPage] + 0=Down + + [Hotkey/PrevCandidate] + 0=Shift+Tab + + [Hotkey/NextCandidate] + 0=Tab + + [Behavior] + # Active By Default + ActiveByDefault=False + # Share Input State + ShareInputState=No + # Show preedit in application + PreeditEnabledByDefault=True + # Show Input Method Information when switch input method + ShowInputMethodInformation=True + # Show Input Method Information when changing focus + showInputMethodInformationWhenFocusIn=False + # Show compact input method information + CompactInputMethodInformation=True + # Show first input method information + ShowFirstInputMethodInformation=True + # Default page size + DefaultPageSize=5 + # Override Xkb Option + OverrideXkbOption=False + # Custom Xkb Option + CustomXkbOption= + # Force Enabled Addons + EnabledAddons= + # Force Disabled Addons + DisabledAddons= + # Preload input method to be used by default + PreloadInputMethod=True + # Allow input method in the password field + AllowInputMethodForPassword=False + # Show preedit text when typing password + ShowPreeditForPassword=False + # Interval of saving user data in minutes + AutoSavePeriod=30 + ''; + home.file.".config/fcitx5/profile".text = '' + [Groups/0] + # Group Name + Name=Default + # Layout + Default Layout=us + # Default Input Method + DefaultIM=mozc + + [Groups/0/Items/0] + # Name + Name=keyboard-us + # Layout + Layout= + + [Groups/0/Items/1] + # Name + Name=mozc + # Layout + Layout= + + [GroupOrder] + 0=Default + ''; +}