25.05 ish

This commit is contained in:
2025-05-25 12:31:52 +02:00
parent 827d659160
commit f9192a65c4
16 changed files with 114 additions and 280 deletions

2
.gitignore vendored
View File

@@ -3,3 +3,5 @@
./secrets/secrets.yaml.priv
./secrets/secrets.priv.yaml.gpg
.aider*
.env

View File

@@ -2,10 +2,10 @@
description = "My System flake";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
home-manager.url = "github:nix-community/home-manager/release-24.11";
home-manager.url = "github:nix-community/home-manager/release-25.05";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
nix-colors.url = "github:misterio77/nix-colors";

View File

@@ -2,9 +2,15 @@
{
home.packages = with pkgs; [
nerd-fonts._0xproto
_0xproto
noto-fonts
noto-fonts-cjk-sans
noto-fonts-emoji
noto-fonts-color-emoji
noto-fonts-emoji-blob-bin
unicode-emoji
liberation_ttf
fira-code
fira-code-symbols
@@ -13,7 +19,7 @@
font-awesome
font-awesome_5
font-awesome_4
pkgs.nerd-fonts._0xproto
nerd-fonts._0xproto
]++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.nerd-fonts);

View File

@@ -1,162 +1,45 @@
{ pkgs, lib, config, ... }:
let
im = config.i18n.inputMethod;
cfg = im.fcitx5;
fcitx5Package = pkgs.libsForQt5.fcitx5-with-addons.override { inherit (cfg) addons; };
in
{ pkgs, lib, ... }:
{
i18n.inputMethod = {
enabled = "fcitx5";
fcitx5.addons = with pkgs; [
fcitx5-mozc
fcitx5-gtk
fcitx5-chinese-addons
];
};
enable = true;
type = "fcitx5";
fcitx5 = {
# 1) Load the GTK bridge, the classic UI and the Catppuccin theme package
addons = with pkgs; [
fcitx5-gtk
fcitx5-mozc
catppuccin-fcitx5
];
xdg.configFile = let
format = pkgs.formats.iniWithGlobalSection { };
in {
"fcitx5/profile" = {
force = true;
source = format.generate "fcitx5-profile" {
sections = {
"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 = "";
};
# 2) Install the Catppuccin theme under $XDG_DATA_HOME/fcitx5/themes/catppuccin
themes = {
catppuccin = {
highlightImage = "${pkgs.catppuccin-fcitx5}/share/fcitx5/themes/catppuccin/highlight.svg";
panelImage = "${pkgs.catppuccin-fcitx5}/share/fcitx5/themes/catppuccin/panel.svg";
theme = "${pkgs.catppuccin-fcitx5}/share/fcitx5/themes/catppuccin/theme.conf";
};
}; # i18n.inputMethod.fcitx5.themes.<name> … [source_id=2]
settings = {
# 3) Tell the classic UI to use “catppuccin”
addons.classicui.globalSection = {
Theme = "catppuccin";
};
"Groups/1" = {
Name = "Default";
"Default Layout" = "jp";
DefaultIM = "mozc";
};
"Groups/1/Items/0" = {
Name = "keyboard-us";
Layout = "";
};
"Groups/1/Items/1" = {
Name = "keyboard-no";
Layout = "";
};
"Groups/1/Items/2" = {
Name = "mozc";
Layout = "";
};
GroupOrder = {
"0" = "Default";
"1" = "Secondary";
};
# 4) Your other config (hotkey, layouts, IM engines…)
globalOptions."Global" = {
TriggerKey = "Control+space";
};
inputMethod."Default" = {
Enabled = "xkb:us::eng,xkb:no::nob,xkb:jp::jpn,mozc";
};
};
};
"fcitx5/config".source = format.generate "fcitx5-config" {
sections = {
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;
};
};
};
"fcitx5/conf/classicui.conf".source = format.generate "fcitx5-classicui.conf" {
globalSection = {
Theme = "Material-Color";
PerScreenDPI = "True";
# Font = "";
"Vertical Candidate List" = "True";
};
};
};
xdg.dataFile."fcitx5/themes/Material-Color" = {
recursive = true;
source = "${pkgs.fcitx5-material-color}/share/fcitx5/themes/Material-Color-teal";
};
systemd.user.services.fcitx5-daemon = {
Service.Restart="on-failure";
Service.ExecStart = lib.mkForce "${fcitx5Package}/bin/fcitx5";
Service.ExecReload = "/bin/kill -HUP $MAINPID";
};
# 5) Force your own ExecStart so you never get “conflicting definition” errors
systemd.user.services.fcitx5-daemon.Service.ExecStart =
lib.mkForce "${pkgs.fcitx5-with-addons}/bin/fcitx5";
}

View File

@@ -1,33 +0,0 @@
{ pkgs, lib, ... }:
{
home.packages = with pkgs; [
nerdfonts
noto-fonts
noto-fonts-cjk-sans
noto-fonts-emoji
liberation_ttf
fira-code
fira-code-symbols
nerdfonts
ubuntu_font_family
zpix-pixel-font
_0xproto
font-awesome
font-awesome_5
font-awesome_4
];
fonts.fontconfig.enable = true;
fonts.fontconfig.defaultFonts = {
emoji = ["noto-fonts-emoji font-awesome"];
monospace = ["0xproto" "zpix" "fira-code"];
serif = [ "Noto Serif" "Source Han Serif" ];
sansSerif = [ "Noto Sans" "Source Han Sans" ];
};
}

View File

@@ -5,6 +5,7 @@
./code.nix
./sway.nix
./niri.nix
../common/fonts.nix
./colors.nix
#./stylix.nix

View File

@@ -600,8 +600,6 @@ in
wdisplays
swww
wleave
xwayland-satellite
#bar applets and notifications
@@ -624,6 +622,13 @@ in
emote
xdg-desktop-portal-gtk
xdg-desktop-portal
xdg-desktop-portal-wlr
xdg-desktop-portal-gnome
#fonts
_0xproto
font-awesome

View File

@@ -13,11 +13,11 @@ in
imports = [
./waybar.nix
./foot.nix
./fonts.nix
./fcitx5.nix
./kanshi.nix
./swaylock.nix
./mako.nix
./wlogout.nix
#./assets/wallpapers
];
@@ -48,7 +48,6 @@ in
#swaybg
swww
wleave
#bar applets and notifications
waybar
@@ -85,17 +84,6 @@ in
slurp
#fonts
nerdfonts
noto-fonts
noto-fonts-cjk-sans
noto-fonts-emoji
liberation_ttf
fira-code
fira-code-symbols
nerdfonts
ubuntu_font_family
zpix-pixel-font
_0xproto
font-awesome
font-awesome_5
font-awesome_4
@@ -287,7 +275,7 @@ in {
#"ctrl+space" = "exec xkb_switch_layout next"; #TODO:verify
"${cfg.config.modifier}+tab" = "${menu}";
"Alt+tab" = "workspace back_and_forth";
"XF86PowerOff" = "exec ${pkgs.wleave}/bin/wleave";
"XF86PowerOff" = "exec ${pkgs.wlogout}/bin/wlogout";
};
};

View File

@@ -20,7 +20,7 @@ in
{
"height": 36,
"spacing": 2,
"modules-left": [ "custom/launcher", "sway/workspaces","niri/workspaces"],
"modules-left": [ "custom/overview", "custom/launcher", "sway/workspaces","niri/workspaces"],
"modules-center": ["niri/window"],
"modules-right": [
"idle_inhibitor","backlight","pulseaudio","keyboard-state",
@@ -55,6 +55,13 @@ in
"on-click": "niri msg workspace {index}"
},
"custom:overview": {
"format": "",
"tooltip": "Toggle Overview",
"on-click": "niri msg action toggle-overview"
},
"niri/window": {
"format": "{title}"
},
@@ -116,13 +123,6 @@ in
"states": { "warning": 30, "critical": 15 }
},
"power-profiles-daemon": {
"format": "{icon}",
"format-icons": {
"performance":"","balanced":"","power-saver":""
},
"on-click": "systemctl --user power-profiles-daemon set balanced"
},
"power-profiles-daemon": {
"format": "{icon}",
@@ -139,25 +139,25 @@ in
"clock": {
"format": "{:%H:%M}",
"format-alt": "{:%Y-%m-%d}",
"tooltip": true,
"tooltip-format": "<tt><small>{calendar}</small></tt>",
"calendar": {
"mode": "month",
"mode-mon-col": 3,
"weeks-pos": "right",
"on-scroll": 1,
"format": {
"months": "<span color='#${palette.base05}'><b>{}</b></span>",
"days": "<span color='#${palette.base04}'>{}</span>",
"weeks": "<span color='#${palette.base0C}'><b>W{}</b></span>",
"weekdays": "<span color='#${palette.base0A}'><b>{}</b></span>",
"today": "<span color='#${palette.base08}'><b><u>{}</u></b></span>"
}
},
"actions": {
"on-click-right": "mode",
"on-scroll-up": "shift_up",
"on-scroll-down": "shift_down"
"tooltip": true,
"tooltip-format": "<tt><small>{calendar}</small></tt>",
"calendar": {
"mode": "month",
"mode-mon-col": 3,
"weeks-pos": "right",
"on-scroll": 1,
"format": {
"months": "<span color='#${palette.base05}'><b>{}</b></span>",
"days": "<span color='#${palette.base04}'>{}</span>",
"weeks": "<span color='#${palette.base0C}'><b>W{}</b></span>",
"weekdays": "<span color='#${palette.base0A}'><b>{}</b></span>",
"today": "<span color='#${palette.base08}'><b><u>{}</u></b></span>"
}
},
"actions": {
"on-click-right": "mode",
"on-scroll-up": "shift_up",
"on-scroll-down": "shift_down"
}
},
@@ -168,7 +168,7 @@ in
"custom/power": {
"format": "",
"tooltip": "exit",
"on-click": "wleave"
"on-click": "wlogout || wleave"
}
}
'')
@@ -193,7 +193,7 @@ in
/* Module blocks */
#idle_inhibitor,#backlight,#pulseaudio,#keyboard-state,
#network,#cpu,#memory,#temperature,#battery,
#power-profiles-daemon,#clock,#tray,#custom-power,#custom-launcher,#niri-window {
#power-profiles-daemon,#clock,#tray,#custom-power,#custom-launcher,#custom-overview,#niri-window {
background-color: ${toRGBA palette.base01 "0.4"};
border-radius: 8px;
margin: 0 6px;
@@ -205,7 +205,7 @@ in
#idle_inhibitor:hover,#backlight:hover,#pulseaudio:hover,
#keyboard-state:hover,#network:hover,#cpu:hover,#memory:hover,
#temperature:hover,#battery:hover,#power-profiles-daemon:hover,
#clock:hover,#tray:hover,#custom-power:hover,#custom-launcher:hover,#niri-window:hover {
#clock:hover,#tray:hover,#custom-power:hover,#custom-launcher:hover,#custom-overview:hover,#niri-window:hover {
background-color: ${toRGBA palette.base02 "0.5"};
}

View File

@@ -20,7 +20,7 @@ in
{
programs.wlogout = {
enable = true;
package = pkgs.wleave;
package = pkgs.wlogout;
# Your button layout
layout = [

View File

@@ -1,33 +0,0 @@
{ pkgs, lib, ... }:
{
home.packages = with pkgs; [
nerdfonts
noto-fonts
noto-fonts-cjk-sans
noto-fonts-emoji
liberation_ttf
fira-code
fira-code-symbols
nerdfonts
ubuntu_font_family
zpix-pixel-font
_0xproto
font-awesome
font-awesome_5
font-awesome_4
];
fonts.fontconfig.enable = true;
fonts.fontconfig.defaultFonts = {
emoji = ["noto-fonts-emoji font-awesome"];
monospace = ["0xproto" "zpix" "fira-code"];
serif = [ "Noto Serif" "Source Han Serif" ];
sansSerif = [ "Noto Sans" "Source Han Sans" ];
};
}

View File

@@ -63,7 +63,7 @@
users.users.gunalx = {
isNormalUser = true;
description = "Adrian Gunnar Lauterer";
extraGroups = [ "networkmanager" "wheel" ];
extraGroups = [ "networkmanager" "wheel" "input" ];
packages = with pkgs; [
];
};

View File

@@ -28,6 +28,7 @@ imports =
sops
atuin
upower
nvtopPackages.full
];
#just allow unfree, im fine with it.

View File

@@ -13,21 +13,25 @@ imports =
];
environment.systemPackages = with pkgs; [
openscad
#cura # broken
prusa-slicer
environment.systemPackages = with pkgs; [
libnotify
openscad
#cura # broken
prusa-slicer
#libsForQt5.qt5ct
#qt6Packages.qt6ct
where-is-my-sddm-theme
swww
#libsForQt5.qt5ct
#qt6Packages.qt6ct
where-is-my-sddm-theme
swww
];
fonts.packages = with pkgs; [
nerd-fonts._0xproto
_0xproto
noto-fonts
noto-fonts-cjk-sans
noto-fonts-emoji
@@ -37,10 +41,11 @@ imports =
mplus-outline-fonts.githubRelease
dina-font
proggyfonts
nerdfonts
#nerdfonts
ubuntu_font_family
];
] ++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.nerd-fonts);
# Enable CUPS to print documents.
services.printing.enable = false; #temp off because of CVE

View File

@@ -8,6 +8,15 @@ imports =
];
environment.systemPackages = with pkgs; [
zed-editor-fhs
aider-chat
python3Full
uv
python3Packages.pip
python3Packages.uv
poetry
texliveFull

View File

@@ -41,7 +41,7 @@ imports =
workstyle
#swayest-workstyle #migth switch to this.
autotiling-rs
wleave
wlogout
pass-wayland