mirror of
https://github.com/adrlau/nix-dotfiles.git
synced 2026-03-06 17:42:06 +01:00
Compare commits
22 Commits
829275d044
...
598a7f2b45
| Author | SHA1 | Date | |
|---|---|---|---|
| 598a7f2b45 | |||
| f9192a65c4 | |||
| 827d659160 | |||
| c9db00532e | |||
| 0755352a2e | |||
| 49bdc108e7 | |||
| 114648a9d2 | |||
| 10aed5245b | |||
| a111590e39 | |||
| 1b9e2a6b75 | |||
| 6efd73e6aa | |||
| 4e365a5e5c | |||
| cd7df6f38b | |||
| b8fad8d4b4 | |||
| a11050f6e5 | |||
| 957facbd5d | |||
| 9a58df54ff | |||
| eaa7e26cdc | |||
| 0a63318ddc | |||
| cc72effdce | |||
| 6e96f4749f | |||
| c15d8f03c9 |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -3,3 +3,5 @@
|
||||
./secrets/secrets.yaml.priv
|
||||
./secrets/secrets.priv.yaml.gpg
|
||||
|
||||
.aider*
|
||||
.env
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -1,23 +1,28 @@
|
||||
{ pkgs, lib, ... }:
|
||||
{
|
||||
|
||||
home.packages = with pkgs; [
|
||||
nerdfonts
|
||||
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
|
||||
nerdfonts
|
||||
ubuntu_font_family
|
||||
zpix-pixel-font
|
||||
_0xproto
|
||||
font-awesome
|
||||
font-awesome_5
|
||||
font-awesome_4
|
||||
nerd-fonts._0xproto
|
||||
|
||||
]++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.nerd-fonts);
|
||||
|
||||
];
|
||||
|
||||
fonts.fontconfig.enable = true;
|
||||
fonts.fontconfig.defaultFonts = {
|
||||
@@ -10,12 +10,6 @@
|
||||
enable = true;
|
||||
};
|
||||
|
||||
nixpkgs = {
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
allowUnfreePredicate = (_: true);
|
||||
};
|
||||
};
|
||||
|
||||
programs.bash = {
|
||||
enable = true;
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
enableUpdateCheck = false;
|
||||
enableExtensionUpdateCheck = false;
|
||||
profiles.default.enableUpdateCheck = false;
|
||||
profiles.default.enableExtensionUpdateCheck = false;
|
||||
mutableExtensionsDir = true;
|
||||
|
||||
# Extensions
|
||||
extensions = (with pkgs.vscode-extensions; [
|
||||
profiles.default.extensions = (with pkgs.vscode-extensions; [
|
||||
# Stable
|
||||
ms-vscode-remote.remote-ssh
|
||||
mhutchie.git-graph
|
||||
@@ -39,7 +39,7 @@
|
||||
]);
|
||||
|
||||
# Settings
|
||||
userSettings = {
|
||||
profiles.default.userSettings = {
|
||||
# General
|
||||
"editor.fontSize" = 16;
|
||||
"editor.fontFamily" = "'Jetbrains Mono', 'monospace', monospace";
|
||||
|
||||
@@ -62,7 +62,7 @@ in{
|
||||
enable = true;
|
||||
theme = {
|
||||
name = "Adwaita-dark";
|
||||
package = pkgs.gnome.gnome-themes-extra;
|
||||
package = pkgs.gnome-themes-extra;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -72,5 +72,10 @@ in{
|
||||
style.name = "adwaita-dark";
|
||||
};
|
||||
|
||||
# Ensure the Adwaita GTK theme is installed so wlogout can load gtk.css
|
||||
home.packages = with pkgs; [
|
||||
gnome-themes-extra
|
||||
];
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -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";
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
./code.nix
|
||||
./sway.nix
|
||||
./niri.nix
|
||||
../common/fonts.nix
|
||||
./colors.nix
|
||||
|
||||
#./stylix.nix
|
||||
|
||||
32
home/gunalx/fuzzel.nix
Normal file
32
home/gunalx/fuzzel.nix
Normal file
@@ -0,0 +1,32 @@
|
||||
{ config, pkgs, lib, inputs, ... }:
|
||||
|
||||
let
|
||||
palette = config.colorScheme.palette;
|
||||
hex = colour: lib.removePrefix "#" colour;
|
||||
in
|
||||
|
||||
{
|
||||
programs.fuzzel = {
|
||||
enable = true;
|
||||
package = pkgs.fuzzel;
|
||||
settings = {
|
||||
main = {
|
||||
terminal = "${pkgs.foot}/bin/foot";
|
||||
layer = "overlay";
|
||||
};
|
||||
colors = {
|
||||
background = "${hex palette.base00}ff";
|
||||
foreground = "${hex palette.base05}ff";
|
||||
highlight = "${hex palette.base0D}ff";
|
||||
};
|
||||
window = {
|
||||
border-radius = 12;
|
||||
x = "center";
|
||||
y = "center";
|
||||
};
|
||||
icons = {
|
||||
size = 48;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -8,62 +8,37 @@ in {
|
||||
package = pkgs.mako; # Which package to use
|
||||
|
||||
# Colors (from your colorscheme)
|
||||
backgroundColor = "${palette.base00}FF"; # popup background
|
||||
textColor = "${palette.base05}FF"; # popup text
|
||||
borderColor = "${palette.base03}FF"; # popup border
|
||||
progressColor = "over ${palette.base0A}FF"; # progress bar
|
||||
settings.background-color = "#${palette.base00}FF"; # popup background
|
||||
settings.text-color = "#${palette.base05}FF"; # popup text
|
||||
settings.border-color = "#${palette.base03}FF"; # popup border
|
||||
settings.progress-color = "over #${palette.base0A}FF"; # progress bar
|
||||
|
||||
# Placement & layering
|
||||
anchor = "top-right"; # corner on screen
|
||||
layer = "overlay"; # appear above fullscreen
|
||||
settings.anchor = "top-right"; # corner on screen
|
||||
settings.layer = "overlay"; # appear above fullscreen
|
||||
|
||||
# Geometry
|
||||
width = 320; # px
|
||||
height = 120; # max px
|
||||
margin = "10"; # all edges
|
||||
padding = "8"; # all edges
|
||||
borderSize = 2; # px
|
||||
borderRadius = 12; # px
|
||||
settings.width = 320; # px
|
||||
settings.height = 120; # max px
|
||||
settings.margin = "10"; # all edges
|
||||
settings.padding = "8"; # all edges
|
||||
settings.border-size = 2; # px
|
||||
settings.border-radius = 12; # px
|
||||
|
||||
# Font & icons
|
||||
font = "monospace 10"; # Pango font
|
||||
icons = true; # show icons
|
||||
iconPath = "/usr/share/icons:/usr/share/pixmaps";
|
||||
maxIconSize = 48; # px
|
||||
settings.font = "monospace 10"; # Pango font
|
||||
settings.icons = true; # show icons
|
||||
settings.icon-path = "/usr/share/icons:/usr/share/pixmaps";
|
||||
settings.max-icon-size = 48; # px
|
||||
|
||||
# Behavior & timing
|
||||
defaultTimeout = 5000; # ms; 0 = no timeout
|
||||
ignoreTimeout = true; # use defaultTimeout always
|
||||
actions = true; # clickable actions
|
||||
maxVisible = 5; # simultaneous popups
|
||||
sort = "-time"; # newest first
|
||||
groupBy = "app-name"; # grouping criteria
|
||||
markup = true; # enable Pango markup
|
||||
settings.default-timeout = 3000; # ms; 0 = no timeout
|
||||
settings.ignore-timeout = true; # use defaultTimeout always
|
||||
settings.actions = true; # clickable actions
|
||||
settings.max-visible = 5; # simultaneous popups
|
||||
settings.sort = "-time"; # newest first
|
||||
settings.group-by = "app-name"; # grouping criteria
|
||||
settings.markup = true; # enable Pango markup
|
||||
|
||||
extraConfig = ''
|
||||
# Urgency-specific colors
|
||||
[urgency=critical]
|
||||
background-color = ${palette.base08}FF
|
||||
border-color = ${palette.base00}FF
|
||||
text-color = ${palette.base01}FF
|
||||
|
||||
# Grouping settings
|
||||
[grouped]
|
||||
invisible = 1
|
||||
on-button-right = dismiss-group
|
||||
|
||||
[group-index=0]
|
||||
invisible = 0
|
||||
on-button-right = dismiss-group
|
||||
|
||||
# Modes
|
||||
[mode=away]
|
||||
default-timeout = 0
|
||||
ignore-timeout = 1
|
||||
|
||||
[mode=do-not-disturb]
|
||||
invisible = 1
|
||||
on-notify = none
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
||||
@@ -91,17 +91,20 @@ layout {
|
||||
proportion 0.3333333
|
||||
proportion 0.5
|
||||
proportion 0.6666667
|
||||
proportion 0.9
|
||||
|
||||
// Fixed sets the width in logical pixels exactly.
|
||||
// fixed 1920
|
||||
}
|
||||
|
||||
// You can also customize the heights that "switch-preset-window-height" (Mod+Shift+R) toggles between.
|
||||
// preset-window-heights { }
|
||||
preset-window-heights {
|
||||
proportion 1.0
|
||||
proportion 0.5
|
||||
|
||||
}
|
||||
|
||||
// You can change the default width of the new windows.
|
||||
default-column-width { proportion 0.5; }
|
||||
default-column-width { proportion 1.0; }
|
||||
// If you leave the brackets empty, the windows themselves will decide their initial width.
|
||||
// default-column-width {}
|
||||
|
||||
@@ -119,7 +122,7 @@ layout {
|
||||
// Uncomment this line to disable the focus ring.
|
||||
// off
|
||||
|
||||
// How many logical pixels the ring extends out from the windows.
|
||||
// How many logical pixels the ring extends out from the windows.
|
||||
width 2
|
||||
|
||||
// Colors can be set in a variety of ways:
|
||||
@@ -194,8 +197,6 @@ layout {
|
||||
// Offset moves the shadow relative to the window.
|
||||
offset x=0 y=5
|
||||
|
||||
|
||||
|
||||
// You can also change the shadow color and opacity.
|
||||
color "#0007"
|
||||
}
|
||||
@@ -222,7 +223,7 @@ spawn-at-startup "foot" "--server"
|
||||
spawn-at-startup "xwayland-satellite"
|
||||
spawn-at-startup "mako"
|
||||
spawn-at-startup "swww-daemon"
|
||||
spawn-at-startup "waybar"
|
||||
//spawn-at-startup "waybar" //spawns by system service instead
|
||||
spawn-at-startup "swayidle" "-w" "timeout" "601" "niri msg action power-off-monitors" "timeout" "600" "swaylock -f" "before-sleep" "swaylock -f"
|
||||
|
||||
// Uncomment this line to ask the clients to omit their client-side decorations if possible.
|
||||
@@ -237,9 +238,6 @@ prefer-no-csd
|
||||
// The path is formatted with strftime(3) to give you the screenshot date and time.
|
||||
screenshot-path "~/Pictures/screenshots/screenshot-%Y-%m-%d %H-%M-%S.png"
|
||||
|
||||
// You can also set this to null to disable saving screenshots to disk.
|
||||
// screenshot-path null
|
||||
|
||||
// Animation settings.
|
||||
// The wiki explains how to configure individual animations:
|
||||
// https://github.com/YaLTeR/niri/wiki/Configuration:-Animations
|
||||
@@ -248,7 +246,7 @@ animations {
|
||||
off
|
||||
|
||||
// Slow down all animations by this factor. Values below 1 speed them up instead.
|
||||
// slowdown 3.0
|
||||
// slowdown 0.3
|
||||
}
|
||||
|
||||
// Window rules let you adjust behavior for individual windows.
|
||||
@@ -273,22 +271,12 @@ window-rule {
|
||||
match app-id=r#"firefox$"# title="^Picture-in-Picture$"
|
||||
match app-id=r#"firefox$"# title="^Bitwarden$"
|
||||
match app-id=r#"firefox$"# title="^Extension: (Bitwarden Password Manager) - Bitwarden — Mozilla Firefox$"
|
||||
match app-id=r#"Bitwarden$"#
|
||||
match app-id="firefox" title="Extension: (Bitwarden Password Manager) - Bitwarden — Mozilla Firefox"
|
||||
match app-id="Bitwarden$"
|
||||
match title="^Bitwarden"
|
||||
open-floating true
|
||||
}
|
||||
|
||||
//niri overview python script.
|
||||
window-rule {
|
||||
match app-id=r#"niri-overview.py"#
|
||||
match app-id=r#"niri_overview.py"#
|
||||
match app-id=r#"niri_overview.bin"#
|
||||
match app-id=r#"niri_overview"#
|
||||
open-focused true
|
||||
open-floating true
|
||||
default-window-height { proportion 0.5; }
|
||||
default-column-width { proportion 0.8; }
|
||||
}
|
||||
|
||||
//fix steam notifications to bottom rigth
|
||||
window-rule {
|
||||
match app-id="steam" title=r#"^notificationtoasts_\d+_desktop$"#
|
||||
@@ -301,7 +289,7 @@ window-rule {
|
||||
/-window-rule {
|
||||
match app-id=r#"^org\.keepassxc\.KeePassXC$"#
|
||||
match app-id=r#"^org\.gnome\.World\.Secrets$"#
|
||||
match app-id=r#"^Bitwarden$"#
|
||||
match title=r#"^Bitwarden$"#
|
||||
|
||||
block-out-from "screen-capture"
|
||||
|
||||
@@ -335,18 +323,13 @@ binds {
|
||||
// Mod-Shift-/, which is usually the same as Mod-?,
|
||||
// shows a list of important hotkeys.
|
||||
Mod+Shift+Slash { show-hotkey-overlay; }
|
||||
|
||||
// spawn niri overview script
|
||||
Mod+Slash { spawn "/home/gunalx/.config/niri/niri_overview/niri_overview.bin"; }
|
||||
// for next release
|
||||
// Mod+Slash { toggle-overview; }
|
||||
Mod+Slash { toggle-overview; }
|
||||
|
||||
// Suggested binds for running programs: terminal, app launcher, screen locker.
|
||||
Mod+Return { spawn "foot"; }
|
||||
Mod+Return { spawn "footclient"; }
|
||||
Mod+D { spawn "fuzzel"; }
|
||||
Super+M { spawn "swaylock"; }
|
||||
|
||||
Mod+Escape { toggle-keyboard-shortcuts-inhibit; } //for diabling niri shortcuts for a while.
|
||||
|
||||
// You can also use a shell. Do this if you need pipes, multiple commands, etc.
|
||||
// Note: the entire command goes as a single argument in the end.
|
||||
@@ -518,7 +501,8 @@ binds {
|
||||
Mod+Ctrl+R { reset-window-height; }
|
||||
Mod+F { maximize-column; }
|
||||
Mod+Shift+F { fullscreen-window; }
|
||||
|
||||
Mod+Ctrl+Shift+F { toggle-windowed-fullscreen; }
|
||||
|
||||
// Expand the focused column to space not taken up by other fully visible columns.
|
||||
// Makes the column "fill the rest of the space".
|
||||
Mod+Ctrl+F { expand-column-to-available-width; }
|
||||
@@ -599,8 +583,8 @@ in
|
||||
./swaylock.nix
|
||||
./wlogout.nix
|
||||
./mako.nix
|
||||
./fonts.nix
|
||||
./fcitx5.nix
|
||||
./fuzzel.nix
|
||||
];
|
||||
|
||||
|
||||
@@ -616,8 +600,6 @@ in
|
||||
wdisplays
|
||||
swww
|
||||
|
||||
wleave
|
||||
|
||||
xwayland-satellite
|
||||
|
||||
#bar applets and notifications
|
||||
@@ -640,17 +622,14 @@ in
|
||||
emote
|
||||
|
||||
|
||||
|
||||
xdg-desktop-portal-gtk
|
||||
xdg-desktop-portal
|
||||
xdg-desktop-portal-wlr
|
||||
xdg-desktop-portal-gnome
|
||||
|
||||
|
||||
#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
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -18,9 +18,9 @@ in
|
||||
settings = [
|
||||
(builtins.fromJSON ''
|
||||
{
|
||||
"height": 30,
|
||||
"height": 36,
|
||||
"spacing": 2,
|
||||
"modules-left": ["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",
|
||||
@@ -28,6 +28,11 @@ in
|
||||
"power-profiles-daemon","clock","tray","custom/power"
|
||||
],
|
||||
|
||||
"custom/launcher": {
|
||||
"format": " ",
|
||||
"on-click": "pkill fuzzel || fuzzel"
|
||||
},
|
||||
|
||||
"sway/workspaces": {
|
||||
"format": "{index}: {name} - {icon}",
|
||||
"format-icons": {
|
||||
@@ -50,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}"
|
||||
},
|
||||
@@ -74,14 +86,26 @@ in
|
||||
"keyboard-state": {
|
||||
"numlock": true,
|
||||
"capslock": true,
|
||||
"format": "{icon}",
|
||||
"format": "{icon}",
|
||||
"format-icons": { "locked":"","unlocked":"" }
|
||||
},
|
||||
|
||||
"network": {
|
||||
"format-wifi": " {essid} ({signalStrength}%)",
|
||||
"format-ethernet": " {ipaddr}",
|
||||
"format-disconnected": "⚠ Disconnected"
|
||||
"format-ethernet": " {ipaddr}",
|
||||
"format-disconnected": "⚠ Disconnected",
|
||||
"format-alt": " {ipaddr}/{cidr}",
|
||||
"format-alt-click": "click",
|
||||
"tooltip": true,
|
||||
"tooltip-format-wifi": "<span color='#${palette.base0C}'></span> <span color='#${palette.base05}'>WiFi</span>\n<span color='#${palette.base0A}'>SSID:</span> <span color='#${palette.base06}'>{essid}</span>\n<span color='#${palette.base0A}'>Interface:</span> <span color='#${palette.base04}'>{ifname}</span>\n<span color='#${palette.base0A}'>IP:</span> <span color='#${palette.base06}'>{ipaddr}</span>\n<span color='#${palette.base0A}'>IPv6:</span> <span color='#${palette.base04}'>{ipaddr6}</span>\n<span color='#${palette.base0A}'>Gateway:</span> <span color='#${palette.base04}'>{gwaddr}</span>\n<span color='#${palette.base0A}'>Frequency:</span> <span color='#${palette.base04}'>{frequency} MHz</span>\n<span color='#${palette.base0A}'>Signal:</span> <span color='#${palette.base0B}'>{signalStrength}%</span> <span color='#${palette.base04}'>({signaldBm} dBm)</span>",
|
||||
|
||||
"tooltip-format-ethernet": "<span color='#${palette.base0C}'></span> <span color='#${palette.base05}'>Ethernet</span>\n<span color='#${palette.base0A}'>Interface:</span> <span color='#${palette.base04}'>{ifname}</span>\n<span color='#${palette.base0A}'>IP:</span> <span color='#${palette.base06}'>{ipaddr}</span>\n<span color='#${palette.base0A}'>IPv6:</span> <span color='#${palette.base04}'>{ipaddr6}</span>\n<span color='#${palette.base0A}'>Gateway:</span> <span color='#${palette.base04}'>{gwaddr}</span>\n<span color='#${palette.base0A}'>Netmask:</span> <span color='#${palette.base04}'>{netmask}</span>",
|
||||
|
||||
"tooltip-format-disconnected": "<span color='#${palette.base08}'>⚠</span> <span color='#${palette.base08}'>No Connection</span>\n<span color='#${palette.base04}'>Click to refresh network info</span>",
|
||||
|
||||
"on-click": "nmcli device wifi rescan && nmcli connection show --active",
|
||||
"on-click-right": "nmcli device status",
|
||||
"max-length": 50
|
||||
},
|
||||
|
||||
"cpu": { "format": " {usage}%" },
|
||||
@@ -99,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}",
|
||||
@@ -121,17 +138,37 @@ in
|
||||
|
||||
"clock": {
|
||||
"format": "{:%H:%M}",
|
||||
"format-alt": "{:%Y-%m-%d}"
|
||||
"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"
|
||||
}
|
||||
},
|
||||
|
||||
"tray": {
|
||||
"spacing": 6
|
||||
"spacing": 8
|
||||
},
|
||||
|
||||
"custom/power": {
|
||||
"format": "⏻",
|
||||
"tooltip": "exit",
|
||||
"on-click": "wleave"
|
||||
"on-click": "wlogout || wleave"
|
||||
}
|
||||
}
|
||||
'')
|
||||
@@ -156,7 +193,7 @@ in
|
||||
/* Module blocks */
|
||||
#idle_inhibitor,#backlight,#pulseaudio,#keyboard-state,
|
||||
#network,#cpu,#memory,#temperature,#battery,
|
||||
#power-profiles-daemon,#clock,#tray,#custom-power,#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;
|
||||
@@ -168,10 +205,29 @@ 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,#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"};
|
||||
}
|
||||
|
||||
/* Tooltip styling */
|
||||
tooltip {
|
||||
background-color: ${toRGBA palette.base00 "0.9"};
|
||||
border: 1px solid ${toRGBA palette.base07 "0.4"};
|
||||
border-radius: 8px;
|
||||
color: ${toRGBA palette.base05 "0.9"};
|
||||
padding: 8px 12px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
tooltip label {
|
||||
color: ${toRGBA palette.base05 "0.9"};
|
||||
}
|
||||
|
||||
#clock tooltip {
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
|
||||
/* Workspace buttons */
|
||||
#sway-workspaces button,#niri-workspaces button {
|
||||
padding: 0 6px;
|
||||
|
||||
@@ -20,7 +20,7 @@ in
|
||||
{
|
||||
programs.wlogout = {
|
||||
enable = true;
|
||||
package = pkgs.wleave;
|
||||
package = pkgs.wlogout;
|
||||
|
||||
# Your button layout
|
||||
layout = [
|
||||
|
||||
@@ -10,12 +10,6 @@
|
||||
enable = true;
|
||||
};
|
||||
|
||||
nixpkgs = {
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
allowUnfreePredicate = (_: true);
|
||||
};
|
||||
};
|
||||
|
||||
programs.bash = {
|
||||
enable = true;
|
||||
|
||||
@@ -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" ];
|
||||
};
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
users.users.gunalx = {
|
||||
isNormalUser = true;
|
||||
description = "Adrian Gunnar Lauterer";
|
||||
extraGroups = [ "networkmanager" "wheel" ];
|
||||
extraGroups = [ "networkmanager" "wheel" "input" ];
|
||||
packages = with pkgs; [
|
||||
];
|
||||
};
|
||||
@@ -90,7 +90,7 @@
|
||||
|
||||
|
||||
#basic programming
|
||||
kate
|
||||
kdePackages.kate
|
||||
vscode-fhs
|
||||
gcc
|
||||
gpp
|
||||
|
||||
@@ -28,6 +28,7 @@ imports =
|
||||
sops
|
||||
atuin
|
||||
upower
|
||||
nvtopPackages.full
|
||||
];
|
||||
|
||||
#just allow unfree, im fine with it.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -8,6 +8,15 @@ imports =
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
zed-editor-fhs
|
||||
aider-chat
|
||||
|
||||
python3Full
|
||||
uv
|
||||
python3Packages.pip
|
||||
python3Packages.uv
|
||||
poetry
|
||||
|
||||
|
||||
|
||||
texliveFull
|
||||
|
||||
@@ -7,7 +7,7 @@ imports =
|
||||
];
|
||||
|
||||
|
||||
hardware.pulseaudio.enable = false;
|
||||
services.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
|
||||
@@ -41,7 +41,7 @@ imports =
|
||||
workstyle
|
||||
#swayest-workstyle #migth switch to this.
|
||||
autotiling-rs
|
||||
wleave
|
||||
wlogout
|
||||
|
||||
pass-wayland
|
||||
|
||||
|
||||
Reference in New Issue
Block a user