Compare commits

...

7 Commits

10 changed files with 173 additions and 59 deletions

View File

@ -21,6 +21,7 @@ in {
./programs/ncmpcpp.nix
./programs/neovim.nix
./programs/newsboat
./programs/taskwarrior.nix
./programs/tmux.nix
./programs/zsh
@ -40,6 +41,7 @@ in {
./programs/zathura.nix
./services/dunst.nix
./services/fcitx5.nix
./services/mpd.nix
./services/picom.nix
./services/polybar.nix

View File

@ -10,6 +10,8 @@
duf
duff
ffmpeg
file
gh-dash
gpg-tui
graphviz
httpie
@ -45,8 +47,6 @@
rsync
# sc-im
slack-term
taskwarrior
taskwarrior-tui
tea
tealdeer
terminal-parrot

View File

@ -12,6 +12,8 @@
signByDefault = true;
};
lfs.enable = true;
delta = {
enable = true;
options = {

View File

@ -332,12 +332,12 @@
window_border_color = "green";
active_window_border = "red";
# visualizer_fifo_path = "/tmp/mpd.fifo";
# visualizer_output_name = "my_fifo";
# visualizer_sync_interval = "30";
# visualizer_in_stereo = "no";
# visualizer_type = "spectrum"; # spectrum, ellipse, wave_filled, wave
# visualizer_look = "+█"; # wave | spectrum, ellipse, wave_filled
visualizer_fifo_path = "/tmp/mpd.fifo";
visualizer_output_name = "Visualizer feed";
visualizer_sync_interval = "30";
visualizer_in_stereo = "no";
visualizer_type = "spectrum"; # spectrum, ellipse, wave_filled, wave
visualizer_look = "+"; # wave | spectrum, ellipse, wave_filled
};
};
}

View File

@ -0,0 +1,14 @@
{ pkgs, ... }:
{
programs.taskwarrior = {
enable = true;
package = pkgs.taskwarrior3;
config = rec {
report.minimal.filter = "(status:pending or status:waiting)";
report.minimal.labels = "ID,Project,Tags,Description";
report.minimal.sort = "project+,id+";
uda.taskwarrior-tui.task-report.next.filter = report.minimal.filter;
};
};
}

115
home/services/fcitx5.nix Normal file
View File

@ -0,0 +1,115 @@
{ pkgs, lib, config, ... }:
let
im = config.i18n.inputMethod;
cfg = im.fcitx5;
fcitx5Package = pkgs.libsForQt5.fcitx5-with-addons.override { inherit (cfg) addons; };
in
{
i18n.inputMethod = {
enabled = "fcitx5";
fcitx5.addons = with pkgs; [
fcitx5-mozc
fcitx5-gtk
# fcitx5-chinese-addons
];
};
xdg.configFile = let
format = pkgs.formats.ini { };
in {
"fcitx5/profile".source = format.generate "fcitx5-profile" {
"Groups/0" = {
Name = "Default";
"Default Layout" = "us";
DefaultIM = "mozc";
};
"Groups/0/Items/0" = {
Name = "keyboard-us";
Layout = "";
};
"Groups/0/Items/1" = {
Name = "keyboard-no";
Layout = "";
};
"Groups/0/Items/2" = {
Name = "mozc";
Layout = "";
};
GroupOrder = {
"0" = "Default";
};
};
"fcitx5/config".source = format.generate "fcitx5-config" {
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";
};
"Hotkey/TriggerKeys" = {
"0" = "Control+space";
"1" = "Zenkaku_Hankaku";
"2" = "Hangul";
};
"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";
"Hotkey/TogglePreedit"."0" = "Control+Alt+P";
Behaviour = {
# Active By Default
ActiveByDefault = "False";
# Share Input State
ShareInputState = "All";
# 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;
};
};
};
systemd.user.services.fcitx5-daemon = {
Service.Restart="on-failure";
Service.ExecStart = lib.mkForce "${fcitx5Package}/bin/fcitx5";
Service.ExecReload = "/bin/kill -HUP $MAINPID";
};
}

View File

@ -4,6 +4,22 @@
enable = true;
musicDirectory = config.xdg.userDirs.music;
playlistDirectory = "${musicDirectory}/playlists/MPD";
network.startWhenNeeded = true;
# TODO: make the path specific to the user unit
extraConfig = ''
audio_output {
type "fifo"
name "Visualizer feed"
path "/tmp/mpd.fifo"
format "44100:16:2"
}
audio_output {
type "pulse"
name "PulseAudio"
}
'';
};
}

View File

@ -133,11 +133,17 @@ in {
# Systemd related aliases
"Systemd Stuff" = {
scr = "sudo systemctl restart";
sc = "systemctl";
scu = "systemctl --user";
scs = "systemctl status";
scus = "systemctl --user status";
scc = "systemctl cat";
scf = "systemctl list-units --failed";
je = "journalctl -eu";
scuc = "systemctl --user cat";
jeu = "journalctl -eu";
jeuu = "journalctl --user -eu";
};
# ░█▀▀░█▀█░█▀▀░▀█▀░█░█░█▀█░█▀▄░█▀▀

View File

@ -158,54 +158,7 @@ in {
];
};
i18n = {
defaultLocale = "en_US.UTF-8";
inputMethod = lib.mkIf (!machineVars.headless) {
# enabled = "fcitx";
# engines = with pkgs.fcitx-engines; [ mozc ];
enabled = "fcitx5";
fcitx5.addons = with pkgs; [
fcitx5-mozc
fcitx5-gtk
# fcitx5-chinese-addons
];
fcitx5.ignoreUserConfig = true;
fcitx5.settings.inputMethod = {
"Groups/0" = {
"Name" = "Default";
"Default Layout" = "ch";
"DefaultIM" = "mozc";
};
"Groups/0/Items/0" = {
"Name" = "keybord-us";
"Layout" = null;
};
"Groups/0/Items/1" = {
"Name" = "keybord-no";
"Layout" = null;
};
"Groups/0/Items/2" = {
"Name" = "mozc";
"Layout" = null;
};
"GroupOrder" = {
"0" = "Default";
};
};
};
};
systemd.user.services."fcitx5" = lib.mkIf (config.i18n.inputMethod.enabled == "fcitx5") {
description = "Fcitx5 IME";
wantedBy = [ "graphical.target" ];
serviceConfig = {
Type = "simple";
ExecStart = "${config.i18n.inputMethod.package}/bin/fcitx5";
ExecReload = "/bin/kill -HUP $MAINPID";
Restart="on-failure";
};
};
i18n.defaultLocale = "en_US.UTF-8";
environment = {
variables = {

View File

@ -9,6 +9,12 @@
./services/stable-diffusion.nix
./services/tailscale.nix
./services/keybase.nix
boot.binfmt.emulatedSystems = [
"x86_64-windows"
"aarch64-linux"
"armv7l-linux"
];
nix.settings.system-features = [
"kvm"
"benchmark"