user rename
This commit is contained in:
parent
1b9e61f630
commit
82631191ea
33 changed files with 36 additions and 36 deletions
10
flake.nix
10
flake.nix
|
|
@ -105,16 +105,16 @@
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
devices = {
|
devices = {
|
||||||
vinzenz-lpt2 = {
|
muede-lpt2 = {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
home-manager-users = {
|
home-manager-users = {
|
||||||
inherit (self.homeConfigurations) vinzenz;
|
inherit (self.homeConfigurations) muede;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
vinzenz-pc2 = {
|
muede-pc2 = {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
home-manager-users = {
|
home-manager-users = {
|
||||||
inherit (self.homeConfigurations) vinzenz;
|
inherit (self.homeConfigurations) muede;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
ronja-pc = {
|
ronja-pc = {
|
||||||
|
|
@ -197,7 +197,7 @@
|
||||||
|
|
||||||
homeModules = importModuleDir ./homeModules;
|
homeModules = importModuleDir ./homeModules;
|
||||||
homeConfigurations = {
|
homeConfigurations = {
|
||||||
vinzenz = ./homeConfigurations/vinzenz;
|
muede = ./homeConfigurations/muede;
|
||||||
ronja = ./homeConfigurations/ronja;
|
ronja = ./homeConfigurations/ronja;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
23
homeConfigurations/muede/.config/containers/policy.json
Normal file
23
homeConfigurations/muede/.config/containers/policy.json
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
{
|
||||||
|
"default": [
|
||||||
|
{
|
||||||
|
"type": "reject"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"transports": {
|
||||||
|
"docker-daemon": {
|
||||||
|
"": [
|
||||||
|
{
|
||||||
|
"type": "insecureAcceptAnything"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"docker": {
|
||||||
|
"docker.io/library/debian": [
|
||||||
|
{
|
||||||
|
"type": "insecureAcceptAnything"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
99
homeConfigurations/muede/default.nix
Normal file
99
homeConfigurations/muede/default.nix
Normal file
|
|
@ -0,0 +1,99 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# keep-sorted start
|
||||||
|
./editorconfig.nix
|
||||||
|
./element.nix
|
||||||
|
./fonts.nix
|
||||||
|
./fuzzel.nix
|
||||||
|
./git.nix
|
||||||
|
./gnome.nix
|
||||||
|
./niri.nix
|
||||||
|
./ssh.nix
|
||||||
|
./starship.nix
|
||||||
|
./swaylock.nix
|
||||||
|
./swaync.nix
|
||||||
|
./vscode.nix
|
||||||
|
./waybar.nix
|
||||||
|
./wlogout.nix
|
||||||
|
./zsh.nix
|
||||||
|
# keep-sorted end
|
||||||
|
];
|
||||||
|
|
||||||
|
config = {
|
||||||
|
programs = {
|
||||||
|
home-manager.enable = true;
|
||||||
|
fzf.enable = true;
|
||||||
|
git-credential-oauth.enable = true;
|
||||||
|
|
||||||
|
direnv = {
|
||||||
|
enable = true;
|
||||||
|
nix-direnv.enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
eza = {
|
||||||
|
enable = true;
|
||||||
|
git = true;
|
||||||
|
icons = "auto";
|
||||||
|
extraOptions = [
|
||||||
|
"--group-directories-first"
|
||||||
|
"--header"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
pay-respects = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
chromium.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
keepassxc
|
||||||
|
nextcloud-client
|
||||||
|
thunderbird
|
||||||
|
fractal
|
||||||
|
telegram-desktop
|
||||||
|
|
||||||
|
wireguard-tools
|
||||||
|
wirelesstools
|
||||||
|
tailscale
|
||||||
|
|
||||||
|
kdiff3
|
||||||
|
jetbrains-toolbox
|
||||||
|
|
||||||
|
vlc
|
||||||
|
lutris
|
||||||
|
|
||||||
|
arduino
|
||||||
|
arduino-ide
|
||||||
|
arduino-cli
|
||||||
|
|
||||||
|
servicepoint-cli
|
||||||
|
servicepoint-simulator
|
||||||
|
|
||||||
|
icu
|
||||||
|
|
||||||
|
foliate
|
||||||
|
|
||||||
|
dconf2nix
|
||||||
|
|
||||||
|
gnome-terminal
|
||||||
|
];
|
||||||
|
|
||||||
|
home.file = {
|
||||||
|
"policy.json" = {
|
||||||
|
target = ".config/containers/policy.json";
|
||||||
|
text = builtins.readFile ./.config/containers/policy.json;
|
||||||
|
};
|
||||||
|
"idea.properties".text = "idea.filewatcher.executable.path = ${pkgs.fsnotifier}/bin/fsnotifier";
|
||||||
|
};
|
||||||
|
|
||||||
|
services = {
|
||||||
|
trayscale.enable = true;
|
||||||
|
poweralertd.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
19
homeConfigurations/muede/editorconfig.nix
Normal file
19
homeConfigurations/muede/editorconfig.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
{
|
||||||
|
config.editorconfig = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
"*" = {
|
||||||
|
charset = "utf-8";
|
||||||
|
end_of_line = "lf";
|
||||||
|
trim_trailing_whitespace = true;
|
||||||
|
insert_final_newline = true;
|
||||||
|
max_line_width = 120;
|
||||||
|
indent_style = "space";
|
||||||
|
indent_size = 4;
|
||||||
|
};
|
||||||
|
"*.nix" = {
|
||||||
|
indent_size = 2;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
187
homeConfigurations/muede/element.nix
Normal file
187
homeConfigurations/muede/element.nix
Normal file
|
|
@ -0,0 +1,187 @@
|
||||||
|
{
|
||||||
|
programs.element-desktop = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
# https://github.com/element-hq/element-web/blob/develop/docs/config.md
|
||||||
|
# https://github.com/catppuccin/element
|
||||||
|
"show_labs_settings" = true;
|
||||||
|
"setting_defaults" = {
|
||||||
|
default_theme = "custom-Catppuccin Latte (Mauve)";
|
||||||
|
"custom_themes" = [
|
||||||
|
{
|
||||||
|
"name" = "Catppuccin Latte (Mauve)";
|
||||||
|
"is_dark" = false;
|
||||||
|
"colors" = {
|
||||||
|
"accent-color" = "#8839ef";
|
||||||
|
"primary-color" = "#8839ef";
|
||||||
|
"warning-color" = "#d20f39";
|
||||||
|
"alert" = "#df8e1d";
|
||||||
|
"sidebar-color" = "#dce0e8";
|
||||||
|
"roomlist-background-color" = "#e6e9ef";
|
||||||
|
"roomlist-text-color" = "#4c4f69";
|
||||||
|
"roomlist-text-secondary-color" = "#7c7f93";
|
||||||
|
"roomlist-highlights-color" = "#bcc0cc";
|
||||||
|
"roomlist-separator-color" = "#8c8fa1";
|
||||||
|
"timeline-background-color" = "#eff1f5";
|
||||||
|
"timeline-text-color" = "#4c4f69";
|
||||||
|
"secondary-content" = "#4c4f69";
|
||||||
|
"tertiary-content" = "#4c4f69";
|
||||||
|
"timeline-text-secondary-color" = "#6c6f85";
|
||||||
|
"timeline-highlights-color" = "#e6e9ef";
|
||||||
|
"reaction-row-button-selected-bg-color" = "#bcc0cc";
|
||||||
|
"menu-selected-color" = "#bcc0cc";
|
||||||
|
"focus-bg-color" = "#acb0be";
|
||||||
|
"room-highlight-color" = "#04a5e5";
|
||||||
|
"togglesw-off-color" = "#7c7f93";
|
||||||
|
"other-user-pill-bg-color" = "#04a5e5";
|
||||||
|
"username-colors" = [
|
||||||
|
"#8839ef"
|
||||||
|
"#e64553"
|
||||||
|
"#fe640b"
|
||||||
|
"#40a02b"
|
||||||
|
"#179299"
|
||||||
|
"#04a5e5"
|
||||||
|
"#209fb5"
|
||||||
|
"#7287fd"
|
||||||
|
];
|
||||||
|
"avatar-background-colors" = [
|
||||||
|
"#1e66f5"
|
||||||
|
"#8839ef"
|
||||||
|
"#40a02b"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name" = "Catppuccin Frappé (Mauve)";
|
||||||
|
"is_dark" = true;
|
||||||
|
"colors" = {
|
||||||
|
"accent-color" = "#ca9ee6";
|
||||||
|
"primary-color" = "#ca9ee6";
|
||||||
|
"warning-color" = "#e78284";
|
||||||
|
"alert" = "#e5c890";
|
||||||
|
"sidebar-color" = "#232634";
|
||||||
|
"roomlist-background-color" = "#292c3c";
|
||||||
|
"roomlist-text-color" = "#c6d0f5";
|
||||||
|
"roomlist-text-secondary-color" = "#949cbb";
|
||||||
|
"roomlist-highlights-color" = "#51576d";
|
||||||
|
"roomlist-separator-color" = "#838ba7";
|
||||||
|
"timeline-background-color" = "#303446";
|
||||||
|
"timeline-text-color" = "#c6d0f5";
|
||||||
|
"secondary-content" = "#c6d0f5";
|
||||||
|
"tertiary-content" = "#c6d0f5";
|
||||||
|
"timeline-text-secondary-color" = "#a5adce";
|
||||||
|
"timeline-highlights-color" = "#292c3c";
|
||||||
|
"reaction-row-button-selected-bg-color" = "#51576d";
|
||||||
|
"menu-selected-color" = "#51576d";
|
||||||
|
"focus-bg-color" = "#626880";
|
||||||
|
"room-highlight-color" = "#99d1db";
|
||||||
|
"togglesw-off-color" = "#949cbb";
|
||||||
|
"other-user-pill-bg-color" = "#99d1db";
|
||||||
|
"username-colors" = [
|
||||||
|
"#ca9ee6"
|
||||||
|
"#ea999c"
|
||||||
|
"#ef9f76"
|
||||||
|
"#a6d189"
|
||||||
|
"#81c8be"
|
||||||
|
"#99d1db"
|
||||||
|
"#85c1dc"
|
||||||
|
"#babbf1"
|
||||||
|
];
|
||||||
|
"avatar-background-colors" = [
|
||||||
|
"#8caaee"
|
||||||
|
"#ca9ee6"
|
||||||
|
"#a6d189"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name" = "Catppuccin Macchiato (Mauve)";
|
||||||
|
"is_dark" = true;
|
||||||
|
"colors" = {
|
||||||
|
"accent-color" = "#c6a0f6";
|
||||||
|
"primary-color" = "#c6a0f6";
|
||||||
|
"warning-color" = "#ed8796";
|
||||||
|
"alert" = "#eed49f";
|
||||||
|
"sidebar-color" = "#181926";
|
||||||
|
"roomlist-background-color" = "#1e2030";
|
||||||
|
"roomlist-text-color" = "#cad3f5";
|
||||||
|
"roomlist-text-secondary-color" = "#939ab7";
|
||||||
|
"roomlist-highlights-color" = "#494d64";
|
||||||
|
"roomlist-separator-color" = "#8087a2";
|
||||||
|
"timeline-background-color" = "#24273a";
|
||||||
|
"timeline-text-color" = "#cad3f5";
|
||||||
|
"secondary-content" = "#cad3f5";
|
||||||
|
"tertiary-content" = "#cad3f5";
|
||||||
|
"timeline-text-secondary-color" = "#a5adcb";
|
||||||
|
"timeline-highlights-color" = "#1e2030";
|
||||||
|
"reaction-row-button-selected-bg-color" = "#494d64";
|
||||||
|
"menu-selected-color" = "#494d64";
|
||||||
|
"focus-bg-color" = "#5b6078";
|
||||||
|
"room-highlight-color" = "#91d7e3";
|
||||||
|
"togglesw-off-color" = "#939ab7";
|
||||||
|
"other-user-pill-bg-color" = "#91d7e3";
|
||||||
|
"username-colors" = [
|
||||||
|
"#c6a0f6"
|
||||||
|
"#ee99a0"
|
||||||
|
"#f5a97f"
|
||||||
|
"#a6da95"
|
||||||
|
"#8bd5ca"
|
||||||
|
"#91d7e3"
|
||||||
|
"#7dc4e4"
|
||||||
|
"#b7bdf8"
|
||||||
|
];
|
||||||
|
"avatar-background-colors" = [
|
||||||
|
"#8aadf4"
|
||||||
|
"#c6a0f6"
|
||||||
|
"#a6da95"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"name" = "Catppuccin Mocha (Mauve)";
|
||||||
|
"is_dark" = true;
|
||||||
|
"colors" = {
|
||||||
|
"accent-color" = "#cba6f7";
|
||||||
|
"primary-color" = "#cba6f7";
|
||||||
|
"warning-color" = "#f38ba8";
|
||||||
|
"alert" = "#f9e2af";
|
||||||
|
"sidebar-color" = "#11111b";
|
||||||
|
"roomlist-background-color" = "#181825";
|
||||||
|
"roomlist-text-color" = "#cdd6f4";
|
||||||
|
"roomlist-text-secondary-color" = "#9399b2";
|
||||||
|
"roomlist-highlights-color" = "#45475a";
|
||||||
|
"roomlist-separator-color" = "#7f849c";
|
||||||
|
"timeline-background-color" = "#1e1e2e";
|
||||||
|
"timeline-text-color" = "#cdd6f4";
|
||||||
|
"secondary-content" = "#cdd6f4";
|
||||||
|
"tertiary-content" = "#cdd6f4";
|
||||||
|
"timeline-text-secondary-color" = "#a6adc8";
|
||||||
|
"timeline-highlights-color" = "#181825";
|
||||||
|
"reaction-row-button-selected-bg-color" = "#45475a";
|
||||||
|
"menu-selected-color" = "#45475a";
|
||||||
|
"focus-bg-color" = "#585b70";
|
||||||
|
"room-highlight-color" = "#89dceb";
|
||||||
|
"togglesw-off-color" = "#9399b2";
|
||||||
|
"other-user-pill-bg-color" = "#89dceb";
|
||||||
|
"username-colors" = [
|
||||||
|
"#cba6f7"
|
||||||
|
"#eba0ac"
|
||||||
|
"#fab387"
|
||||||
|
"#a6e3a1"
|
||||||
|
"#94e2d5"
|
||||||
|
"#89dceb"
|
||||||
|
"#74c7ec"
|
||||||
|
"#b4befe"
|
||||||
|
];
|
||||||
|
"avatar-background-colors" = [
|
||||||
|
"#89b4fa"
|
||||||
|
"#cba6f7"
|
||||||
|
"#a6e3a1"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
8
homeConfigurations/muede/fonts.nix
Normal file
8
homeConfigurations/muede/fonts.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
fonts.fontconfig.enable = true;
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
roboto-mono
|
||||||
|
recursive
|
||||||
|
];
|
||||||
|
}
|
||||||
18
homeConfigurations/muede/fuzzel.nix
Normal file
18
homeConfigurations/muede/fuzzel.nix
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
{ pkgs, lib, ... }:
|
||||||
|
{
|
||||||
|
config.programs.fuzzel = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
main = {
|
||||||
|
terminal = "${lib.getBin pkgs.gnome-console}/bin/kgx";
|
||||||
|
icon-theme = "Adwaita";
|
||||||
|
counter = true;
|
||||||
|
launch-prefix = "niri msg action spawn --";
|
||||||
|
};
|
||||||
|
border = {
|
||||||
|
radius = 30;
|
||||||
|
width = 3;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
27
homeConfigurations/muede/git.nix
Normal file
27
homeConfigurations/muede/git.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
config.programs.git = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
user = {
|
||||||
|
name = "müde";
|
||||||
|
email = "git@darkest.space";
|
||||||
|
};
|
||||||
|
|
||||||
|
aliases = {
|
||||||
|
prettylog = "log --pretty=oneline --graph";
|
||||||
|
spring-clean = "!git branch --merged | xargs -n 1 -r git branch -d";
|
||||||
|
};
|
||||||
|
|
||||||
|
pull.ff = "only";
|
||||||
|
merge.tool = "kdiff3";
|
||||||
|
push.autoSetupRemote = "true";
|
||||||
|
credential.credentialStore = "cache";
|
||||||
|
};
|
||||||
|
|
||||||
|
ignores = [
|
||||||
|
".direnv"
|
||||||
|
".idea"
|
||||||
|
".envrc"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
33
homeConfigurations/muede/gnome.nix
Normal file
33
homeConfigurations/muede/gnome.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
{ pkgs, lib, ... }:
|
||||||
|
{
|
||||||
|
config = {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
gitg
|
||||||
|
meld
|
||||||
|
simple-scan
|
||||||
|
pinta
|
||||||
|
dconf-editor
|
||||||
|
impression # usb image writer
|
||||||
|
papers # pdf viewer
|
||||||
|
gnome-software # for flatpak apps
|
||||||
|
gnomeExtensions.solaar-extension
|
||||||
|
snapshot
|
||||||
|
];
|
||||||
|
|
||||||
|
dconf.settings = {
|
||||||
|
"org/gnome/shell".enabled-extensions = [
|
||||||
|
"GPaste@gnome-shell-extensions.gnome.org"
|
||||||
|
"solaar-extension@sidevesh"
|
||||||
|
];
|
||||||
|
"org/gnome/desktop/interface".color-scheme = "prefer-dark";
|
||||||
|
"org/gnome/desktop/wm/keybindings" = {
|
||||||
|
switch-windows = [ "<Alt>Tab" ];
|
||||||
|
switch-windows-backward = [ "<Shift><Alt>Tab" ];
|
||||||
|
switch-applications = [ "<Super>Tab" ];
|
||||||
|
switch-applications-backward = [ "<Shift><Super>Tab" ];
|
||||||
|
};
|
||||||
|
"org/gnome/desktop/session".idle-delay = lib.hm.gvariant.mkUint32 300;
|
||||||
|
"org/gnome/Connections".first-run = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
412
homeConfigurations/muede/niri.nix
Normal file
412
homeConfigurations/muede/niri.nix
Normal file
|
|
@ -0,0 +1,412 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
config = {
|
||||||
|
home.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
xwayland-satellite
|
||||||
|
];
|
||||||
|
|
||||||
|
qt.style = {
|
||||||
|
package = pkgs.adwaita-qt;
|
||||||
|
name = "adwaita-dark";
|
||||||
|
};
|
||||||
|
|
||||||
|
services.wpaperd.enable = true;
|
||||||
|
|
||||||
|
programs.niri.settings = {
|
||||||
|
outputs = {
|
||||||
|
"BOE 0x0A3B Unknown" = {
|
||||||
|
scale = 1.0;
|
||||||
|
variable-refresh-rate = true;
|
||||||
|
};
|
||||||
|
"Dell Inc. DELL P2719H 39VHKS2" = {
|
||||||
|
scale = 1.0;
|
||||||
|
};
|
||||||
|
"LG Electronics LG ULTRAGEAR 106NTYT27386" = {
|
||||||
|
scale = 1.0;
|
||||||
|
variable-refresh-rate = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
layout =
|
||||||
|
let
|
||||||
|
colors = config.lib.stylix.colors.withHashtag;
|
||||||
|
pink_light = colors.base0A;
|
||||||
|
pink_dark = colors.base0C;
|
||||||
|
blue_light = colors.base0B;
|
||||||
|
blue_dark = colors.base09;
|
||||||
|
gradient-common = {
|
||||||
|
angle = 90;
|
||||||
|
in' = "oklab";
|
||||||
|
};
|
||||||
|
gradient-active = gradient-common // {
|
||||||
|
from = pink_light;
|
||||||
|
to = blue_light;
|
||||||
|
};
|
||||||
|
gradient-inactive = gradient-common // {
|
||||||
|
from = pink_dark;
|
||||||
|
to = blue_dark;
|
||||||
|
};
|
||||||
|
gradient-urgent = gradient-common // {
|
||||||
|
from = pink_dark;
|
||||||
|
to = pink_light;
|
||||||
|
};
|
||||||
|
gap-size = 8;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
background-color = "transparent";
|
||||||
|
gaps = gap-size;
|
||||||
|
border = {
|
||||||
|
enable = true;
|
||||||
|
width = gap-size / 2;
|
||||||
|
active.gradient = gradient-active;
|
||||||
|
inactive.gradient = gradient-inactive;
|
||||||
|
urgent.gradient = gradient-urgent;
|
||||||
|
};
|
||||||
|
focus-ring = {
|
||||||
|
enable = false;
|
||||||
|
active.gradient = gradient-active;
|
||||||
|
inactive.gradient = gradient-inactive;
|
||||||
|
urgent.gradient = gradient-urgent;
|
||||||
|
};
|
||||||
|
shadow = {
|
||||||
|
enable = false;
|
||||||
|
color = "white";
|
||||||
|
inactive-color = pink_dark;
|
||||||
|
draw-behind-window = true;
|
||||||
|
spread = 5;
|
||||||
|
softness = 10;
|
||||||
|
offset = {
|
||||||
|
x = 0;
|
||||||
|
y = 0;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
insert-hint = {
|
||||||
|
enable = true;
|
||||||
|
display.color = pink_dark;
|
||||||
|
};
|
||||||
|
struts =
|
||||||
|
let
|
||||||
|
strut-inset = 4;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
left = strut-inset;
|
||||||
|
right = strut-inset;
|
||||||
|
top = strut-inset;
|
||||||
|
bottom = strut-inset;
|
||||||
|
};
|
||||||
|
tab-indicator = {
|
||||||
|
place-within-column = true;
|
||||||
|
active.gradient = gradient-inactive;
|
||||||
|
inactive.gradient = gradient-inactive;
|
||||||
|
urgent.gradient = gradient-inactive;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
cursor.theme = "Adwaita";
|
||||||
|
|
||||||
|
input = {
|
||||||
|
touchpad.tap = true;
|
||||||
|
keyboard = {
|
||||||
|
xkb = {
|
||||||
|
layout = "de";
|
||||||
|
options = "compose:caps";
|
||||||
|
};
|
||||||
|
numlock = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
#prefer-no-csd = true;
|
||||||
|
hotkey-overlay.skip-at-startup = true;
|
||||||
|
|
||||||
|
window-rules = [
|
||||||
|
{
|
||||||
|
clip-to-geometry = true;
|
||||||
|
geometry-corner-radius =
|
||||||
|
let
|
||||||
|
radius = 15.;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
top-left = radius;
|
||||||
|
bottom-left = radius;
|
||||||
|
top-right = radius;
|
||||||
|
bottom-right = radius;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{
|
||||||
|
app-id = "steam";
|
||||||
|
title = "^notificationtoasts_\\d+_desktop$";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
default-floating-position = {
|
||||||
|
x = 10;
|
||||||
|
y = 10;
|
||||||
|
relative-to = "bottom-right";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
# defaults taken from https://github.com/sodiboo/niri-flake/issues/483
|
||||||
|
binds = {
|
||||||
|
# Keys consist of modifiers separated by + signs, followed by an XKB key name
|
||||||
|
# in the end. To find an XKB name for a particular key, you may use a program
|
||||||
|
# like wev.
|
||||||
|
#
|
||||||
|
# "Mod" is a special modifier equal to Super when running on a TTY, and to Alt
|
||||||
|
# when running as a winit window.
|
||||||
|
#
|
||||||
|
# Most actions that you can bind here can also be invoked programmatically with
|
||||||
|
# `niri msg action do-something`.
|
||||||
|
|
||||||
|
# Mod-Shift-/, which is usually the same as Mod-?,
|
||||||
|
# shows a list of important hotkeys.
|
||||||
|
"Mod+Shift+Numbersign".action.show-hotkey-overlay = { };
|
||||||
|
|
||||||
|
# Suggested binds for running programs: terminal, app launcher, screen locker.
|
||||||
|
"Mod+T".action.spawn = "${lib.getBin pkgs.gnome-console}/bin/kgx";
|
||||||
|
"Mod+D".action.spawn = "${lib.getBin config.programs.fuzzel.package}/bin/fuzzel";
|
||||||
|
"Super+Alt+L" = {
|
||||||
|
action.spawn = "${lib.getBin config.programs.swaylock.package}/bin/swaylock";
|
||||||
|
allow-when-locked = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
# Mod+T { spawn "bash" "-c" "notify-send hello && exec alacritty"; }
|
||||||
|
|
||||||
|
# Example volume keys mappings for PipeWire & WirePlumber.
|
||||||
|
# The allow-when-locked=true property makes them work even when the session is locked.
|
||||||
|
"XF86AudioRaiseVolume" = {
|
||||||
|
allow-when-locked = true;
|
||||||
|
action.spawn = [
|
||||||
|
"wpctl"
|
||||||
|
"set-volume"
|
||||||
|
"@DEFAULT_AUDIO_SINK@"
|
||||||
|
"0.1+"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"XF86AudioLowerVolume" = {
|
||||||
|
allow-when-locked = true;
|
||||||
|
action.spawn = [
|
||||||
|
"wpctl"
|
||||||
|
"set-volume"
|
||||||
|
"@DEFAULT_AUDIO_SINK@"
|
||||||
|
"0.1-"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"XF86AudioMute" = {
|
||||||
|
allow-when-locked = true;
|
||||||
|
action.spawn = [
|
||||||
|
"wpctl"
|
||||||
|
"set-mute"
|
||||||
|
"@DEFAULT_AUDIO_SINK@"
|
||||||
|
"toggle"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"XF86AudioMicMute" = {
|
||||||
|
allow-when-locked = true;
|
||||||
|
action.spawn = [
|
||||||
|
"wpctl"
|
||||||
|
"set-mute"
|
||||||
|
"@DEFAULT_AUDIO_SOURCE@"
|
||||||
|
"toggle"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
"Mod+Q".action.close-window = { };
|
||||||
|
|
||||||
|
"Mod+Left".action.focus-column-left = { };
|
||||||
|
"Mod+Down".action.focus-window-down = { };
|
||||||
|
"Mod+Up".action.focus-window-up = { };
|
||||||
|
"Mod+Right".action.focus-column-right = { };
|
||||||
|
|
||||||
|
"Mod+Ctrl+Left".action.move-column-left = { };
|
||||||
|
"Mod+Ctrl+Down".action.move-window-down = { };
|
||||||
|
"Mod+Ctrl+Up".action.move-window-up = { };
|
||||||
|
"Mod+Ctrl+Right".action.move-column-right = { };
|
||||||
|
|
||||||
|
# Alternative commands that move across workspaces when reaching
|
||||||
|
# the first or last window in a column.
|
||||||
|
# Mod+J { focus-window-or-workspace-down; }
|
||||||
|
# Mod+K { focus-window-or-workspace-up; }
|
||||||
|
# Mod+Ctrl+J { move-window-down-or-to-workspace-down; }
|
||||||
|
# Mod+Ctrl+K { move-window-up-or-to-workspace-up; }
|
||||||
|
|
||||||
|
"Mod+Home".action.focus-column-first = { };
|
||||||
|
"Mod+End".action.focus-column-last = { };
|
||||||
|
"Mod+Ctrl+Home".action.move-column-to-first = { };
|
||||||
|
"Mod+Ctrl+End".action.move-column-to-last = { };
|
||||||
|
|
||||||
|
"Mod+Shift+Left".action.focus-monitor-left = { };
|
||||||
|
"Mod+Shift+Down".action.focus-monitor-down = { };
|
||||||
|
"Mod+Shift+Up".action.focus-monitor-up = { };
|
||||||
|
"Mod+Shift+Right".action.focus-monitor-right = { };
|
||||||
|
|
||||||
|
"Mod+Shift+Ctrl+Left".action.move-column-to-monitor-left = { };
|
||||||
|
"Mod+Shift+Ctrl+Down".action.move-column-to-monitor-down = { };
|
||||||
|
"Mod+Shift+Ctrl+Up".action.move-column-to-monitor-up = { };
|
||||||
|
"Mod+Shift+Ctrl+Right".action.move-column-to-monitor-right = { };
|
||||||
|
|
||||||
|
# Alternatively, there are commands to move just a single window:
|
||||||
|
# Mod+Shift+Ctrl+Left { move-window-to-monitor-left; }
|
||||||
|
# ...
|
||||||
|
|
||||||
|
# And you can also move a whole workspace to another monitor:
|
||||||
|
# Mod+Shift+Ctrl+Left { move-workspace-to-monitor-left; }
|
||||||
|
# ...
|
||||||
|
|
||||||
|
"Mod+Page_Down".action.focus-workspace-down = { };
|
||||||
|
"Mod+Page_Up".action.focus-workspace-up = { };
|
||||||
|
"Mod+U".action.focus-workspace-down = { };
|
||||||
|
"Mod+I".action.focus-workspace-up = { };
|
||||||
|
"Mod+Ctrl+Page_Down".action.move-column-to-workspace-down = { };
|
||||||
|
"Mod+Ctrl+Page_Up".action.move-column-to-workspace-up = { };
|
||||||
|
"Mod+Ctrl+U".action.move-column-to-workspace-down = { };
|
||||||
|
"Mod+Ctrl+I".action.move-column-to-workspace-up = { };
|
||||||
|
|
||||||
|
# Alternatively, there are commands to move just a single window:
|
||||||
|
# Mod+Ctrl+Page_Down { move-window-to-workspace-down; }
|
||||||
|
# ...
|
||||||
|
|
||||||
|
"Mod+Shift+Page_Down".action.move-workspace-down = { };
|
||||||
|
"Mod+Shift+Page_Up".action.move-workspace-up = { };
|
||||||
|
"Mod+Shift+U".action.move-workspace-down = { };
|
||||||
|
"Mod+Shift+I".action.move-workspace-up = { };
|
||||||
|
|
||||||
|
# You can bind mouse wheel scroll ticks using the following syntax.
|
||||||
|
# These binds will change direction based on the natural-scroll setting.
|
||||||
|
#
|
||||||
|
# To avoid scrolling through workspaces really fast, you can use
|
||||||
|
# the cooldown-ms property. The bind will be rate-limited to this value.
|
||||||
|
# You can set a cooldown on any bind, but it's most useful for the wheel.
|
||||||
|
"Mod+WheelScrollDown" = {
|
||||||
|
cooldown-ms = 150;
|
||||||
|
action.focus-workspace-down = { };
|
||||||
|
};
|
||||||
|
"Mod+WheelScrollUp" = {
|
||||||
|
cooldown-ms = 150;
|
||||||
|
action.focus-workspace-up = { };
|
||||||
|
};
|
||||||
|
"Mod+Ctrl+WheelScrollDown" = {
|
||||||
|
cooldown-ms = 150;
|
||||||
|
action.move-column-to-workspace-down = { };
|
||||||
|
};
|
||||||
|
"Mod+Ctrl+WheelScrollUp" = {
|
||||||
|
cooldown-ms = 150;
|
||||||
|
action.move-column-to-workspace-up = { };
|
||||||
|
};
|
||||||
|
|
||||||
|
"Mod+WheelScrollRight".action.focus-column-right = { };
|
||||||
|
"Mod+WheelScrollLeft".action.focus-column-left = { };
|
||||||
|
"Mod+Ctrl+WheelScrollRight".action.move-column-right = { };
|
||||||
|
"Mod+Ctrl+WheelScrollLeft".action.move-column-left = { };
|
||||||
|
|
||||||
|
# Usually scrolling up and down with Shift in applications results in
|
||||||
|
# horizontal scrolling; these binds replicate that.
|
||||||
|
"Mod+Shift+WheelScrollDown".action.focus-column-right = { };
|
||||||
|
"Mod+Shift+WheelScrollUp".action.focus-column-left = { };
|
||||||
|
"Mod+Ctrl+Shift+WheelScrollDown".action.move-column-right = { };
|
||||||
|
"Mod+Ctrl+Shift+WheelScrollUp".action.move-column-left = { };
|
||||||
|
|
||||||
|
# Similarly, you can bind touchpad scroll "ticks".
|
||||||
|
# Touchpad scrolling is continuous, so for these binds it is split into
|
||||||
|
# discrete intervals.
|
||||||
|
# These binds are also affected by touchpad's natural-scroll, so these
|
||||||
|
# example binds are "inverted", since we have natural-scroll enabled for
|
||||||
|
# touchpads by default.
|
||||||
|
# Mod+TouchpadScrollDown { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.02+"; }
|
||||||
|
# Mod+TouchpadScrollUp { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.02-"; }
|
||||||
|
|
||||||
|
# You can refer to workspaces by index. However, keep in mind that
|
||||||
|
# niri is a dynamic workspace system, so these commands are kind of
|
||||||
|
# "best effort". Trying to refer to a workspace index bigger than
|
||||||
|
# the current workspace count will instead refer to the bottommost
|
||||||
|
# (empty) workspace.
|
||||||
|
#
|
||||||
|
# For example, with 2 workspaces + 1 empty, indices 3, 4, 5 and so on
|
||||||
|
# will all refer to the 3rd workspace.
|
||||||
|
"Mod+1".action.focus-workspace = 1;
|
||||||
|
"Mod+2".action.focus-workspace = 2;
|
||||||
|
"Mod+3".action.focus-workspace = 3;
|
||||||
|
"Mod+4".action.focus-workspace = 4;
|
||||||
|
"Mod+5".action.focus-workspace = 5;
|
||||||
|
"Mod+6".action.focus-workspace = 6;
|
||||||
|
"Mod+7".action.focus-workspace = 7;
|
||||||
|
"Mod+8".action.focus-workspace = 8;
|
||||||
|
"Mod+9".action.focus-workspace = 9;
|
||||||
|
"Mod+Ctrl+1".action.move-column-to-workspace = 1;
|
||||||
|
"Mod+Ctrl+2".action.move-column-to-workspace = 2;
|
||||||
|
"Mod+Ctrl+3".action.move-column-to-workspace = 3;
|
||||||
|
"Mod+Ctrl+4".action.move-column-to-workspace = 4;
|
||||||
|
"Mod+Ctrl+5".action.move-column-to-workspace = 5;
|
||||||
|
"Mod+Ctrl+6".action.move-column-to-workspace = 6;
|
||||||
|
"Mod+Ctrl+7".action.move-column-to-workspace = 7;
|
||||||
|
"Mod+Ctrl+8".action.move-column-to-workspace = 8;
|
||||||
|
"Mod+Ctrl+9".action.move-column-to-workspace = 9;
|
||||||
|
|
||||||
|
# Alternatively, there are commands to move just a single window:
|
||||||
|
# Mod+Ctrl+1 { move-window-to-workspace 1; }
|
||||||
|
|
||||||
|
# Switches focus between the current and the previous workspace.
|
||||||
|
# Mod+Tab { focus-workspace-previous; }
|
||||||
|
|
||||||
|
"Mod+Comma".action.consume-window-into-column = { };
|
||||||
|
"Mod+Period".action.expel-window-from-column = { };
|
||||||
|
|
||||||
|
# There are also commands that consume or expel a single window to the side.
|
||||||
|
# Mod+BracketLeft { consume-or-expel-window-left; }
|
||||||
|
# Mod+BracketRight { consume-or-expel-window-right; }
|
||||||
|
|
||||||
|
"Mod+R".action.switch-preset-column-width = { };
|
||||||
|
"Mod+Shift+R".action.reset-window-height = { };
|
||||||
|
"Mod+F".action.maximize-column = { };
|
||||||
|
"Mod+Shift+F".action.fullscreen-window = { };
|
||||||
|
"Mod+C".action.center-column = { };
|
||||||
|
|
||||||
|
# Finer width adjustments.
|
||||||
|
# This command can also:
|
||||||
|
# * set width in pixels: "1000"
|
||||||
|
# * adjust width in pixels: "-5" or "+5"
|
||||||
|
# * set width as a percentage of screen width: "25%"
|
||||||
|
# * adjust width as a percentage of screen width: "-10%" or "+10%"
|
||||||
|
# Pixel sizes use logical, or scaled, pixels. I.e. on an output with scale 2.0,
|
||||||
|
# set-column-width "100" will make the column occupy 200 physical screen pixels.
|
||||||
|
"Mod+Minus".action.set-column-width = "-10%";
|
||||||
|
"Mod+Equal".action.set-column-width = "+10%";
|
||||||
|
|
||||||
|
# Finer height adjustments when in column with other windows.
|
||||||
|
"Mod+Shift+Minus".action.set-window-height = "-10%";
|
||||||
|
"Mod+Shift+Equal".action.set-window-height = "+10%";
|
||||||
|
|
||||||
|
# Actions to switch layouts.
|
||||||
|
# Note: if you uncomment these, make sure you do NOT have
|
||||||
|
# a matching layout switch hotkey configured in xkb options above.
|
||||||
|
# Having both at once on the same hotkey will break the switching,
|
||||||
|
# since it will switch twice upon pressing the hotkey (once by xkb, once by niri).
|
||||||
|
# Mod+Space { switch-layout "next"; }
|
||||||
|
# Mod+Shift+Space { switch-layout "prev"; }
|
||||||
|
|
||||||
|
"Print".action.screenshot = { };
|
||||||
|
"Ctrl+Print".action.screenshot-screen = { };
|
||||||
|
"Alt+Print".action.screenshot-window = { };
|
||||||
|
|
||||||
|
# The quit action will show a confirmation dialog to avoid accidental exits.
|
||||||
|
"Mod+Shift+E".action.quit = { };
|
||||||
|
|
||||||
|
# Powers off the monitors. To turn them back on, do any input like
|
||||||
|
# moving the mouse or pressing any other key.
|
||||||
|
"Mod+Shift+P".action.power-off-monitors = { };
|
||||||
|
|
||||||
|
"Mod+W".action.toggle-column-tabbed-display = { };
|
||||||
|
"Mod+O".action.toggle-overview = { };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
62
homeConfigurations/muede/ssh.nix
Normal file
62
homeConfigurations/muede/ssh.nix
Normal file
|
|
@ -0,0 +1,62 @@
|
||||||
|
{
|
||||||
|
config.programs.ssh = {
|
||||||
|
enable = true;
|
||||||
|
enableDefaultConfig = false;
|
||||||
|
matchBlocks = {
|
||||||
|
"vpn2" = {
|
||||||
|
host = "vpn2 hetzner-vpn2";
|
||||||
|
hostname = "2a01:4f8:c013:65dd::1";
|
||||||
|
user = "root";
|
||||||
|
};
|
||||||
|
"openwrt" = {
|
||||||
|
host = "openwrt openwrt.lan";
|
||||||
|
hostname = "openwrt.lan";
|
||||||
|
user = "root";
|
||||||
|
};
|
||||||
|
"openwrt-ts" = {
|
||||||
|
hostname = "openwrt.donkey-pentatonic.ts.net";
|
||||||
|
port = 2222;
|
||||||
|
user = "root";
|
||||||
|
};
|
||||||
|
"openwrt-j" = {
|
||||||
|
hostname = "openwrt.donkey-pentatonic.ts.net";
|
||||||
|
proxyJump = "vpn1";
|
||||||
|
port = 2222;
|
||||||
|
user = "root";
|
||||||
|
};
|
||||||
|
"pc2-power" = {
|
||||||
|
hostname = "openwrt.donkey-pentatonic.ts.net";
|
||||||
|
proxyJump = "vpn1";
|
||||||
|
port = 2222;
|
||||||
|
user = "pc2-power";
|
||||||
|
};
|
||||||
|
"avd-power" = {
|
||||||
|
# hostname = "2001:678:560:23:9833:63ff:fe2d:f477"
|
||||||
|
# hostname = "195.160.172.25";
|
||||||
|
hostname = "avd-jumphost.club.berlin.ccc.de";
|
||||||
|
user = "power";
|
||||||
|
};
|
||||||
|
"avd" = {
|
||||||
|
hostname = "avd.club.berlin.ccc.de";
|
||||||
|
user = "vinzenz";
|
||||||
|
};
|
||||||
|
"builder.berlin.ccc.de" = {
|
||||||
|
hostname = "195.160.172.36";
|
||||||
|
user = "root";
|
||||||
|
};
|
||||||
|
"cccb.zerforschen.plus" = {
|
||||||
|
hostname = "2a01:4f8:c013:cbdd::1";
|
||||||
|
user = "root";
|
||||||
|
};
|
||||||
|
"berlin.ccc.de" = {
|
||||||
|
hostname = "195.160.173.9";
|
||||||
|
user = "deploy";
|
||||||
|
port = 31337;
|
||||||
|
};
|
||||||
|
"forgejo-runner-1" = {
|
||||||
|
hostname = "forgejo-runner-1.dev.zerforschen.plus";
|
||||||
|
user = "root";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
213
homeConfigurations/muede/starship.nix
Normal file
213
homeConfigurations/muede/starship.nix
Normal file
|
|
@ -0,0 +1,213 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
{
|
||||||
|
config.programs.starship = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
settings = {
|
||||||
|
"$schema" = "https://starship.rs/config-schema.json";
|
||||||
|
|
||||||
|
add_newline = true;
|
||||||
|
format =
|
||||||
|
"[](fg:color_r)[$username $os $hostname ($container )](bg:color_r fg:text_r)[ ](fg:color_r bg:color_g)"
|
||||||
|
+ "[$directory ](bg:color_g fg:text_g)[ ](fg:color_g bg:color_b)"
|
||||||
|
+ "([(\\[$git_state$git_branch$git_commit$git_status\\] )"
|
||||||
|
+ "$all](bg:color_b fg:text_b))[](fg:color_b bg:color_y)"
|
||||||
|
+ "([ $cmd_duration$status](bg:color_y fg:text_y))[](fg:color_y)"
|
||||||
|
+ "$line_break$character ";
|
||||||
|
|
||||||
|
# TODO: replace with base16 theme
|
||||||
|
palette = lib.mkForce "color_me_surprised";
|
||||||
|
palettes.color_me_surprised = {
|
||||||
|
"color_r" = "#a30262";
|
||||||
|
"color_g" = "#d162a4";
|
||||||
|
"color_b" = "#5BCEFA";
|
||||||
|
"color_y" = "#4a6bb1";
|
||||||
|
"text_r" = "white";
|
||||||
|
"text_g" = "black";
|
||||||
|
"text_b" = "black";
|
||||||
|
"text_y" = "white";
|
||||||
|
};
|
||||||
|
|
||||||
|
username = {
|
||||||
|
format = "[$user]($style)";
|
||||||
|
style_user = "bg:color_r fg:text_r";
|
||||||
|
style_root = "bold bg:color_r fg:text_r";
|
||||||
|
show_always = true;
|
||||||
|
};
|
||||||
|
os = {
|
||||||
|
disabled = false;
|
||||||
|
format = "$symbol";
|
||||||
|
};
|
||||||
|
hostname = {
|
||||||
|
disabled = false;
|
||||||
|
ssh_only = false;
|
||||||
|
format = "$hostname";
|
||||||
|
ssh_symbol = "";
|
||||||
|
aliases = {
|
||||||
|
"muede-lpt2" = "lpt";
|
||||||
|
"muede-pc2" = "pc";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
container = {
|
||||||
|
format = "\[$symbol$name\]";
|
||||||
|
};
|
||||||
|
directory = {
|
||||||
|
format = "$path[( $read_only)]($read_only_style)";
|
||||||
|
truncate_to_repo = true;
|
||||||
|
truncation_symbol = "…/";
|
||||||
|
read_only = "";
|
||||||
|
read_only_style = "fg:color_r bg:green";
|
||||||
|
home_symbol = "";
|
||||||
|
substitutions = {
|
||||||
|
"Documents" = "";
|
||||||
|
"Downloads" = "";
|
||||||
|
"Music" = "";
|
||||||
|
"Pictures" = "";
|
||||||
|
"Developer" = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
git_state = {
|
||||||
|
style = "fg:text_b bg:color_b";
|
||||||
|
};
|
||||||
|
git_branch = {
|
||||||
|
style = "fg:text_b bg:color_b";
|
||||||
|
format = "[$symbol $branch(:$remote_branch) ]($style)";
|
||||||
|
symbol = "";
|
||||||
|
};
|
||||||
|
git_commit = {
|
||||||
|
format = "[$hash$tag ]($style)";
|
||||||
|
style = "fg:text_b bg:color_b";
|
||||||
|
tag_symbol = "";
|
||||||
|
};
|
||||||
|
git_status = {
|
||||||
|
format = "[$all_status$ahead_behind]($style)";
|
||||||
|
style = "fg:text_b bg:color_b";
|
||||||
|
ahead = "⇡$count";
|
||||||
|
behind = "⇣$count";
|
||||||
|
diverged = "⇕⇡$ahead_count⇣$behind_count";
|
||||||
|
};
|
||||||
|
|
||||||
|
package = {
|
||||||
|
symbol = "";
|
||||||
|
format = "$symbol$version ";
|
||||||
|
version_format = "$\{raw\}";
|
||||||
|
};
|
||||||
|
rust = {
|
||||||
|
symbol = "";
|
||||||
|
format = "$symbol$version ";
|
||||||
|
version_format = "$major.$minor";
|
||||||
|
};
|
||||||
|
nix_shell = {
|
||||||
|
symbol = "";
|
||||||
|
format = "$symbol( \($name\))";
|
||||||
|
};
|
||||||
|
|
||||||
|
status = {
|
||||||
|
disabled = false;
|
||||||
|
format = "[$symbol$status_common_meaning$status_signal_name$status_maybe_int]($style)";
|
||||||
|
map_symbol = true;
|
||||||
|
pipestatus = true;
|
||||||
|
style = "bg:color_y fg:text_y";
|
||||||
|
};
|
||||||
|
cmd_duration = {
|
||||||
|
format = " $duration ";
|
||||||
|
};
|
||||||
|
|
||||||
|
character = {
|
||||||
|
success_symbol = "[](bold)";
|
||||||
|
error_symbol = "[✗](bold fg:color_r)";
|
||||||
|
};
|
||||||
|
|
||||||
|
# icons
|
||||||
|
c.symbol = "";
|
||||||
|
aws.symbol = " ";
|
||||||
|
buf.symbol = "";
|
||||||
|
bun.symbol = "";
|
||||||
|
cpp.symbol = "";
|
||||||
|
cmake.symbol = "";
|
||||||
|
conda.symbol = "";
|
||||||
|
crystal.symbol = "";
|
||||||
|
dart.symbol = "";
|
||||||
|
deno.symbol = "";
|
||||||
|
docker_context.symbol = "";
|
||||||
|
elixir.symbol = "";
|
||||||
|
elm.symbol = "";
|
||||||
|
fennel.symbol = "";
|
||||||
|
fossil_branch.symbol = "";
|
||||||
|
gcloud.symbol = " ";
|
||||||
|
golang.symbol = "";
|
||||||
|
guix_shell.symbol = "";
|
||||||
|
haskell.symbol = "";
|
||||||
|
haxe.symbol = "";
|
||||||
|
hg_branch.symbol = "";
|
||||||
|
java.symbol = "";
|
||||||
|
julia.symbol = "";
|
||||||
|
kotlin.symbol = "";
|
||||||
|
lua.symbol = "";
|
||||||
|
memory_usage.symbol = "";
|
||||||
|
meson.symbol = "";
|
||||||
|
nim.symbol = "";
|
||||||
|
nodejs.symbol = "";
|
||||||
|
ocaml.symbol = "";
|
||||||
|
os.symbols = {
|
||||||
|
Alpaquita = "";
|
||||||
|
Alpine = "";
|
||||||
|
AlmaLinux = "";
|
||||||
|
Amazon = "";
|
||||||
|
Android = "";
|
||||||
|
Arch = "";
|
||||||
|
Artix = "";
|
||||||
|
CachyOS = "";
|
||||||
|
CentOS = "";
|
||||||
|
Debian = "";
|
||||||
|
DragonFly = "";
|
||||||
|
Emscripten = "";
|
||||||
|
EndeavourOS = "";
|
||||||
|
Fedora = "";
|
||||||
|
FreeBSD = "";
|
||||||
|
Garuda = "";
|
||||||
|
Gentoo = "";
|
||||||
|
HardenedBSD = "";
|
||||||
|
Illumos = "";
|
||||||
|
Kali = "";
|
||||||
|
Linux = "";
|
||||||
|
Mabox = "";
|
||||||
|
Macos = "";
|
||||||
|
Manjaro = "";
|
||||||
|
Mariner = "";
|
||||||
|
MidnightBSD = "";
|
||||||
|
Mint = "";
|
||||||
|
NetBSD = "";
|
||||||
|
NixOS = "";
|
||||||
|
Nobara = "";
|
||||||
|
OpenBSD = "";
|
||||||
|
openSUSE = "";
|
||||||
|
OracleLinux = "";
|
||||||
|
Pop = "";
|
||||||
|
Raspbian = "";
|
||||||
|
Redhat = "";
|
||||||
|
RedHatEnterprise = "";
|
||||||
|
RockyLinux = "";
|
||||||
|
Redox = "";
|
||||||
|
Solus = "";
|
||||||
|
SUSE = "";
|
||||||
|
Ubuntu = "";
|
||||||
|
Unknown = "";
|
||||||
|
Void = "";
|
||||||
|
Windows = "";
|
||||||
|
};
|
||||||
|
perl.symbol = "";
|
||||||
|
php.symbol = "";
|
||||||
|
pijul_channel.symbol = "";
|
||||||
|
pixi.symbol = "";
|
||||||
|
python.symbol = "";
|
||||||
|
rlang.symbol = "";
|
||||||
|
ruby.symbol = "";
|
||||||
|
scala.symbol = "";
|
||||||
|
swift.symbol = "";
|
||||||
|
zig.symbol = "";
|
||||||
|
gradle.symbol = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
54
homeConfigurations/muede/swaylock.nix
Normal file
54
homeConfigurations/muede/swaylock.nix
Normal file
|
|
@ -0,0 +1,54 @@
|
||||||
|
# based on https://codeberg.org/kiara/cfg/src/commit/b9c472acd78c9c08dfe8b6a643c5c82cc5828433/home-manager/kiara/swaylock.nix#
|
||||||
|
{ pkgs, config, ... }:
|
||||||
|
{
|
||||||
|
config = {
|
||||||
|
stylix.targets.swaylock = {
|
||||||
|
enable = true;
|
||||||
|
useWallpaper = true;
|
||||||
|
};
|
||||||
|
programs.swaylock = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.swaylock-effects;
|
||||||
|
# https://github.com/jirutka/swaylock-effects/blob/master/swaylock.1.scd
|
||||||
|
settings = {
|
||||||
|
screenshot = false;
|
||||||
|
effect-blur = "9x9";
|
||||||
|
effect-vignette = "0.2:0.2";
|
||||||
|
fade-in = 0.5;
|
||||||
|
font-size = 75;
|
||||||
|
indicator-caps-lock = true;
|
||||||
|
clock = true;
|
||||||
|
indicator-radius = 400;
|
||||||
|
show-failed-attempts = true;
|
||||||
|
ignore-empty-password = true;
|
||||||
|
grace = 3.5;
|
||||||
|
indicator-thickness = 20;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.swayidle = {
|
||||||
|
enable = true;
|
||||||
|
systemdTarget = "graphical-session.target";
|
||||||
|
timeouts = [
|
||||||
|
{
|
||||||
|
timeout = 60;
|
||||||
|
command = "${config.programs.swaylock.package}/bin/swaylock";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
timeout = 60 * 10;
|
||||||
|
command = "${pkgs.systemd}/bin/systemctl suspend";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
events = [
|
||||||
|
{
|
||||||
|
event = "before-sleep";
|
||||||
|
command = "${pkgs.playerctl}/bin/playerctl pause; ${config.programs.swaylock.package}/bin/swaylock";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
event = "lock";
|
||||||
|
command = "${config.programs.swaylock.package}/bin/swaylock";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
28
homeConfigurations/muede/swaync.nix
Normal file
28
homeConfigurations/muede/swaync.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
services.swaync = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
"$schema" = "${pkgs.swaynotificationcenter}/etc/xdg/swaync/configSchema.json";
|
||||||
|
|
||||||
|
hide-on-clear = true;
|
||||||
|
|
||||||
|
positionX = "center";
|
||||||
|
fit-to-screen = false;
|
||||||
|
control-center-height = 750;
|
||||||
|
|
||||||
|
widgets = [
|
||||||
|
"mpris"
|
||||||
|
"volume"
|
||||||
|
"title"
|
||||||
|
"dnd"
|
||||||
|
"inhibitors"
|
||||||
|
"notifications"
|
||||||
|
];
|
||||||
|
|
||||||
|
widget-config = {
|
||||||
|
mpris.autohide = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
98
homeConfigurations/muede/vscode.nix
Normal file
98
homeConfigurations/muede/vscode.nix
Normal file
|
|
@ -0,0 +1,98 @@
|
||||||
|
{ pkgs, lib, ... }:
|
||||||
|
{
|
||||||
|
config = {
|
||||||
|
home.sessionVariables = {
|
||||||
|
NIXOS_OZONE_WL = "1";
|
||||||
|
ELECTRON_OZONE_PLATFORM_HINT = "auto";
|
||||||
|
};
|
||||||
|
programs.vscode = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.vscodium;
|
||||||
|
profiles.default = {
|
||||||
|
enableUpdateCheck = false;
|
||||||
|
extensions =
|
||||||
|
with pkgs.nix-vscode-extensions.open-vsx;
|
||||||
|
[
|
||||||
|
# keep-sorted start
|
||||||
|
catppuccin.catppuccin-vsc-icons
|
||||||
|
davidanson.vscode-markdownlint
|
||||||
|
editorconfig.editorconfig
|
||||||
|
jnoortheen.nix-ide
|
||||||
|
llvm-vs-code-extensions.vscode-clangd
|
||||||
|
mkhl.direnv
|
||||||
|
ms-python.python
|
||||||
|
muhammad-sammy.csharp
|
||||||
|
redhat.vscode-yaml
|
||||||
|
rust-lang.rust-analyzer
|
||||||
|
tamasfe.even-better-toml
|
||||||
|
yzhang.markdown-all-in-one
|
||||||
|
# keep-sorted end
|
||||||
|
]
|
||||||
|
++ (with pkgs.vscode-extensions; [
|
||||||
|
vadimcn.vscode-lldb
|
||||||
|
RoweWilsonFrederiskHolme.wikitext
|
||||||
|
ms-dotnettools.csharp
|
||||||
|
]);
|
||||||
|
userSettings = {
|
||||||
|
"files.autoSave" = "afterDelay";
|
||||||
|
"files.autoSaveWhenNoErrors" = true;
|
||||||
|
"files.autoSaveWorkspaceFilesOnly" = true;
|
||||||
|
|
||||||
|
"editor.fontLigatures" = true;
|
||||||
|
"editor.formatOnSave" = true;
|
||||||
|
"editor.formatOnSaveMode" = "modificationsIfAvailable";
|
||||||
|
"editor.minimap.autohide" = true;
|
||||||
|
"editor.mouseWheelZoom" = true;
|
||||||
|
"terminal.integrated.mouseWheelZoom" = true;
|
||||||
|
|
||||||
|
"workbench.startupEditor" = "readme";
|
||||||
|
"workbench.enableExperiments" = false;
|
||||||
|
"workbench.iconTheme" = "catppuchin-mocha";
|
||||||
|
|
||||||
|
"update.mode" = "none";
|
||||||
|
"extensions.autoUpdate" = false;
|
||||||
|
"extensions.autoCheckUpdates" = false;
|
||||||
|
|
||||||
|
"telemetry.telemetryLevel" = "off";
|
||||||
|
"redhat.telemetry.enabled" = false;
|
||||||
|
|
||||||
|
"git.autofetch" = true;
|
||||||
|
"git.path" = "${lib.getBin pkgs.git}/bin/git";
|
||||||
|
"diffEditor.diffAlgorithm" = "advanced";
|
||||||
|
"explorer.excludeGitIgnore" = false;
|
||||||
|
"markdown.extension.tableFormatter.normalizeIndentation" = true;
|
||||||
|
"markdown.extension.toc.orderedList" = false;
|
||||||
|
|
||||||
|
"rust-analyzer.checkOnSave.command" = "clippy";
|
||||||
|
|
||||||
|
"nix.formatterPath" = "${lib.getBin pkgs.nixfmt-tree}/bin/nixfmt-tree";
|
||||||
|
"nix.enableLanguageServer" = true;
|
||||||
|
"nix.serverPath" = "${lib.getBin pkgs.nil}/bin/nil";
|
||||||
|
"nix.serverSettings" = {
|
||||||
|
"nil" = {
|
||||||
|
"formatting" = {
|
||||||
|
"command" = [ "${lib.getBin pkgs.nixfmt-tree}/bin/nixfmt-tree" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
"dotnetAcquisitionExtension.sharedExistingDotnetPath" =
|
||||||
|
"${lib.getBin pkgs.dotnetCorePackages.sdk_9_0}/bin/dotnet";
|
||||||
|
|
||||||
|
"\[makefile\]" = {
|
||||||
|
"editor.insertSpaces" = false;
|
||||||
|
"editor.detectIndentation" = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
"\[nix\]" = {
|
||||||
|
"editor.formatOnSave" = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
"\[css\]" = {
|
||||||
|
"editor.formatOnSave" = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
223
homeConfigurations/muede/waybar.css
Normal file
223
homeConfigurations/muede/waybar.css
Normal file
|
|
@ -0,0 +1,223 @@
|
||||||
|
/* #region stylix overrides*/
|
||||||
|
.modules-left #workspaces button,
|
||||||
|
.modules-left #workspaces button.focused,
|
||||||
|
.modules-left #workspaces button.active,
|
||||||
|
.modules-center #workspaces button,
|
||||||
|
.modules-center #workspaces button.focused,
|
||||||
|
.modules-center #workspaces button.active,
|
||||||
|
.modules-right #workspaces button,
|
||||||
|
.modules-right #workspaces button.focused,
|
||||||
|
.modules-right #workspaces button.active {
|
||||||
|
border-bottom: unset;
|
||||||
|
}
|
||||||
|
/* #endregion */
|
||||||
|
|
||||||
|
* {
|
||||||
|
font-family: sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
transition-property: background-color;
|
||||||
|
transition-duration: 0.5s;
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar.hidden {
|
||||||
|
opacity: 0.2;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar.termite {
|
||||||
|
background-color: #3f3f3f;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar.chromium {
|
||||||
|
background-color: #000000;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-left,
|
||||||
|
.modules-center,
|
||||||
|
.modules-right {
|
||||||
|
border: 0px solid #fff;
|
||||||
|
padding-bottom: 4px;
|
||||||
|
background-clip: content-box, padding-box;
|
||||||
|
background-image:
|
||||||
|
linear-gradient(90deg, @base01, @base01),
|
||||||
|
linear-gradient(90deg, #a30262, #4a6bb1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-center,
|
||||||
|
.modules-left {
|
||||||
|
border-bottom-right-radius: 15px;
|
||||||
|
padding-right: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-center,
|
||||||
|
.modules-right {
|
||||||
|
border-bottom-left-radius: 15px;
|
||||||
|
padding-left: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
widget {
|
||||||
|
margin: 0px 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces,
|
||||||
|
#window,
|
||||||
|
#tray {
|
||||||
|
padding: 4px 6px;
|
||||||
|
margin-left: 6px;
|
||||||
|
margin-right: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
padding: 0 5px;
|
||||||
|
background-color: transparent;
|
||||||
|
color: #ffffff;
|
||||||
|
border-radius: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button:hover {
|
||||||
|
background: rgba(0, 0, 0, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.focused,
|
||||||
|
#workspaces button.active {
|
||||||
|
background-color: @base03;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.urgent {
|
||||||
|
background-color: #eb4d4b;
|
||||||
|
}
|
||||||
|
|
||||||
|
#mode {
|
||||||
|
background-color: #64727d;
|
||||||
|
box-shadow: inset 0 -3px #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock,
|
||||||
|
#battery,
|
||||||
|
#cpu,
|
||||||
|
#memory,
|
||||||
|
#disk,
|
||||||
|
#temperature,
|
||||||
|
#backlight,
|
||||||
|
#network,
|
||||||
|
#pulseaudio,
|
||||||
|
#wireplumber,
|
||||||
|
#custom-media,
|
||||||
|
#mode,
|
||||||
|
#idle_inhibitor,
|
||||||
|
#scratchpad,
|
||||||
|
#power-profiles-daemon,
|
||||||
|
#mpd {
|
||||||
|
padding: 0 10px;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#window,
|
||||||
|
#workspaces {
|
||||||
|
margin: 0 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* If workspaces is the leftmost module, omit left margin */
|
||||||
|
.modules-left > widget:first-child > #workspaces {
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* If workspaces is the rightmost module, omit right margin */
|
||||||
|
.modules-right > widget:last-child > #workspaces {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes blink {
|
||||||
|
to {
|
||||||
|
background-color: #ffffff;
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Using steps() instead of linear as a timing function to limit cpu usage */
|
||||||
|
#battery.critical:not(.charging) {
|
||||||
|
background-color: #f53c3c;
|
||||||
|
color: #ffffff;
|
||||||
|
animation-name: blink;
|
||||||
|
animation-duration: 0.5s;
|
||||||
|
animation-timing-function: steps(12);
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-direction: alternate;
|
||||||
|
}
|
||||||
|
|
||||||
|
#power-profiles-daemon {
|
||||||
|
padding-right: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#power-profiles-daemon.performance {
|
||||||
|
color: #f53c3c;
|
||||||
|
}
|
||||||
|
|
||||||
|
#power-profiles-daemon.balanced {
|
||||||
|
color: #2980b9;
|
||||||
|
}
|
||||||
|
|
||||||
|
#power-profiles-daemon.power-saver {
|
||||||
|
color: #2ecc71;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray > .passive {
|
||||||
|
-gtk-icon-effect: dim;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray > .needs-attention {
|
||||||
|
-gtk-icon-effect: highlight;
|
||||||
|
background-color: #eb4d4b;
|
||||||
|
}
|
||||||
|
|
||||||
|
#language {
|
||||||
|
padding: 0 5px;
|
||||||
|
margin: 0 5px;
|
||||||
|
min-width: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#keyboard-state {
|
||||||
|
padding: 0 0px;
|
||||||
|
margin: 0 5px;
|
||||||
|
min-width: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#keyboard-state > label {
|
||||||
|
padding: 0 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#keyboard-state > label.locked {
|
||||||
|
background: rgba(0, 0, 0, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
#scratchpad {
|
||||||
|
background: rgba(0, 0, 0, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
#scratchpad.empty {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
#privacy {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#privacy-item {
|
||||||
|
padding: 0 5px;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
#privacy-item.screenshare {
|
||||||
|
background-color: #cf5700;
|
||||||
|
}
|
||||||
|
|
||||||
|
#privacy-item.audio-in {
|
||||||
|
background-color: #1ca000;
|
||||||
|
}
|
||||||
|
|
||||||
|
#privacy-item.audio-out {
|
||||||
|
background-color: #0069d4;
|
||||||
|
}
|
||||||
296
homeConfigurations/muede/waybar.nix
Normal file
296
homeConfigurations/muede/waybar.nix
Normal file
|
|
@ -0,0 +1,296 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
playerctl
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.waybar = {
|
||||||
|
enable = true;
|
||||||
|
systemd = {
|
||||||
|
enable = true;
|
||||||
|
target = "graphical-session.target";
|
||||||
|
};
|
||||||
|
style = lib.mkAfter (builtins.readFile ./waybar.css);
|
||||||
|
settings = {
|
||||||
|
mainBar = {
|
||||||
|
layer = "top";
|
||||||
|
position = "top";
|
||||||
|
output = [
|
||||||
|
"eDP-1"
|
||||||
|
"HDMI-A-1"
|
||||||
|
];
|
||||||
|
mode = "dock";
|
||||||
|
spacing = "8";
|
||||||
|
modules-left = [
|
||||||
|
"niri/workspaces"
|
||||||
|
"tray"
|
||||||
|
"niri/window"
|
||||||
|
];
|
||||||
|
modules-center = [
|
||||||
|
"privacy"
|
||||||
|
"clock"
|
||||||
|
"custom/swaync"
|
||||||
|
];
|
||||||
|
modules-right = [
|
||||||
|
"group/system-tray"
|
||||||
|
#"image"
|
||||||
|
"group/status-infos"
|
||||||
|
"custom/wlogout"
|
||||||
|
];
|
||||||
|
|
||||||
|
"group/system-tray" = {
|
||||||
|
orientation = "inherit";
|
||||||
|
modules = [
|
||||||
|
"mpris"
|
||||||
|
"wireplumber"
|
||||||
|
"bluetooth"
|
||||||
|
"backlight"
|
||||||
|
"network"
|
||||||
|
"power-profiles-daemon"
|
||||||
|
"idle_inhibitor"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"group/status-infos" = {
|
||||||
|
orientation = "inherit";
|
||||||
|
modules = [
|
||||||
|
"custom/weather"
|
||||||
|
"temperature"
|
||||||
|
"cpu"
|
||||||
|
"memory"
|
||||||
|
"disk"
|
||||||
|
# "battery"
|
||||||
|
"upower"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
"niri/workspaces" = {
|
||||||
|
format = "{icon}";
|
||||||
|
};
|
||||||
|
"niri/window" = {
|
||||||
|
separate-outputs = true;
|
||||||
|
icon = true;
|
||||||
|
};
|
||||||
|
network = {
|
||||||
|
interface = "wlo1";
|
||||||
|
format = "{ifname}";
|
||||||
|
format-wifi = " ";
|
||||||
|
format-ethernet = " ";
|
||||||
|
format-linked = " ";
|
||||||
|
format-disconnected = " ";
|
||||||
|
tooltip-format = "{ifname} via {gwaddr}";
|
||||||
|
tooltip-format-wifi = "{essid} ({signalStrength}%)";
|
||||||
|
tooltip-format-ethernet = "{ifname} {ipaddr}/{cidr}";
|
||||||
|
tooltip-format-disconnected = "Disconnected";
|
||||||
|
max-length = 50;
|
||||||
|
};
|
||||||
|
clock = {
|
||||||
|
format = "{:%a, %d. %b %H:%M}";
|
||||||
|
tooltip-format = "<tt><small>{calendar}</small></tt>";
|
||||||
|
calendar = {
|
||||||
|
mode = "month";
|
||||||
|
weeks-pos = "right";
|
||||||
|
on-scroll = 1;
|
||||||
|
on-click-right = "mode";
|
||||||
|
format = {
|
||||||
|
#months = "<span color='#ffead3'><b>{}</b></span>";
|
||||||
|
#days = "<span color='#ecc6d9'><b>{}</b></span>";
|
||||||
|
#weeks = "<span color='#99ffdd'><b>W{}</b></span>";
|
||||||
|
#weekdays = "<span color='#ffcc66'><b>{}</b></span>";
|
||||||
|
#weekdays = "<b>{}</b>";
|
||||||
|
today = "<span color='#0FBB0F'><b>{}</b></span>";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
actions = {
|
||||||
|
on-click-right = "mode";
|
||||||
|
on-click-forward = "tz_up";
|
||||||
|
on-click-backward = "tz_down";
|
||||||
|
on-scroll-up = "shift_down";
|
||||||
|
on-scroll-down = "shift_up";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
upower = {
|
||||||
|
icon-size = 14;
|
||||||
|
};
|
||||||
|
battery = {
|
||||||
|
format = "{capacity}% {icon}";
|
||||||
|
format-icons = [
|
||||||
|
"" # 0%
|
||||||
|
"" # 10%
|
||||||
|
"" # 20%
|
||||||
|
"" # 30%
|
||||||
|
"" # 40%
|
||||||
|
"" # 50%
|
||||||
|
"" # 60%
|
||||||
|
"" # 70%
|
||||||
|
"" # 80%
|
||||||
|
"" # 90%
|
||||||
|
"" # 100%
|
||||||
|
];
|
||||||
|
states = {
|
||||||
|
warning = 25;
|
||||||
|
critical = 15;
|
||||||
|
};
|
||||||
|
events =
|
||||||
|
let
|
||||||
|
mkNotifySendCommand =
|
||||||
|
{
|
||||||
|
summary,
|
||||||
|
urgency ? null,
|
||||||
|
body ? null,
|
||||||
|
icon ? null,
|
||||||
|
category ? null,
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
body-part = if body != null then "'${body}'" else "";
|
||||||
|
urgency-part = if urgency != null then "--urgency ${urgency}" else "";
|
||||||
|
icon-part = if icon != null then "--icon ${icon}" else "";
|
||||||
|
category-part = if category != null then "--category ${category}" else "";
|
||||||
|
in
|
||||||
|
"${lib.getBin pkgs.libnotify}/bin/notify-send ${urgency-part} ${icon-part} ${category-part} '${summary}' ${body-part}";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
on-discharging-warning = mkNotifySendCommand {
|
||||||
|
summary = "Low Battery";
|
||||||
|
icon = "battery-caution";
|
||||||
|
category = "device";
|
||||||
|
};
|
||||||
|
on-discharging-critical = mkNotifySendCommand {
|
||||||
|
urgency = "critical";
|
||||||
|
summary = "Very Low Battery";
|
||||||
|
body = "Connect to power <i>now</i>!";
|
||||||
|
icon = "battery-low";
|
||||||
|
category = "device";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
backlight = {
|
||||||
|
device = "intel_backlight";
|
||||||
|
format = "{percent}% ";
|
||||||
|
on-scroll-down = "light -U 1";
|
||||||
|
on-scroll-up = "light -A 1";
|
||||||
|
};
|
||||||
|
cpu = {
|
||||||
|
interval = 1;
|
||||||
|
format = "{usage:3}%@{avg_frequency:4}";
|
||||||
|
};
|
||||||
|
disk = {
|
||||||
|
format = "{free}/{total}";
|
||||||
|
};
|
||||||
|
"custom/wlogout" = {
|
||||||
|
format = " ";
|
||||||
|
tooltip = false;
|
||||||
|
on-click = "wlogout";
|
||||||
|
min-width = 20;
|
||||||
|
};
|
||||||
|
idle_inhibitor = {
|
||||||
|
format = "{icon} ";
|
||||||
|
format-icons = {
|
||||||
|
activated = "";
|
||||||
|
deactivated = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
#image =
|
||||||
|
# let
|
||||||
|
# albumArtScript = pkgs.writeShellScriptBin "album-art.sh" ''
|
||||||
|
# #!${pkgs.bash}/bin/bash
|
||||||
|
# album_art=$(playerctl metadata mpris:artUrl)
|
||||||
|
# if [[ -z $album_art ]]
|
||||||
|
# then
|
||||||
|
# exit
|
||||||
|
# fi
|
||||||
|
# curl -s "''${album_art}" --output "/tmp/cover.jpeg"
|
||||||
|
# echo "/tmp/cover.jpeg"
|
||||||
|
# '';
|
||||||
|
# in
|
||||||
|
# {
|
||||||
|
# exec = "${albumArtScript}/bin/album-art.sh";
|
||||||
|
# interval = 15;
|
||||||
|
# on-click = "playerctl play-pause";
|
||||||
|
# };
|
||||||
|
mpris = {
|
||||||
|
format = "{status_icon} {player} ";
|
||||||
|
tooltip-format = "{player} ({status_icon} {status}) {dynamic}";
|
||||||
|
status-icons = {
|
||||||
|
playing = "";
|
||||||
|
paused = "";
|
||||||
|
stopped = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
memory = {
|
||||||
|
format = "{}% ";
|
||||||
|
};
|
||||||
|
power-profiles-daemon = {
|
||||||
|
format = "{icon}";
|
||||||
|
tooltip-format = "Power profile: {profile}\nDriver: {driver}";
|
||||||
|
tooltip = true;
|
||||||
|
format-icons = {
|
||||||
|
default = "";
|
||||||
|
performance = "";
|
||||||
|
balanced = "";
|
||||||
|
power-saver = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
wireplumber = {
|
||||||
|
format = "{volume}% {icon}";
|
||||||
|
format-muted = "";
|
||||||
|
format-icons = [
|
||||||
|
""
|
||||||
|
""
|
||||||
|
""
|
||||||
|
];
|
||||||
|
};
|
||||||
|
temperature = {
|
||||||
|
format = "{temperatureC}°C ";
|
||||||
|
};
|
||||||
|
tray = {
|
||||||
|
spacing = 4;
|
||||||
|
show-passive-items = true;
|
||||||
|
};
|
||||||
|
bluetooth = {
|
||||||
|
format = " {status} ";
|
||||||
|
format-connected = " {device_alias} ";
|
||||||
|
format-connected-battery = " {device_alias} {device_battery_percentage}% ";
|
||||||
|
tooltip-format = "{controller_alias}\t{controller_address}\n\n{num_connections} connected";
|
||||||
|
tooltip-format-connected = "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}";
|
||||||
|
tooltip-format-enumerate-connected = "{device_alias}\t{device_address}";
|
||||||
|
tooltip-format-enumerate-connected-battery = "{device_alias}\t{device_address}\t{device_battery_percentage}%";
|
||||||
|
};
|
||||||
|
"custom/swaync" =
|
||||||
|
let
|
||||||
|
swaync-client = "${lib.getBin config.services.swaync.package}/bin/swaync-client";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
tooltip = true;
|
||||||
|
format = "{icon} {0} ";
|
||||||
|
format-icons = {
|
||||||
|
notification = "";
|
||||||
|
none = "";
|
||||||
|
dnd-notification = "";
|
||||||
|
dnd-none = "";
|
||||||
|
inhibited-notification = "";
|
||||||
|
inhibited-none = "";
|
||||||
|
dnd-inhibited-notification = "";
|
||||||
|
dnd-inhibited-none = "";
|
||||||
|
};
|
||||||
|
return-type = "json";
|
||||||
|
exec = "${swaync-client} --subscribe-waybar";
|
||||||
|
on-click = "${swaync-client} --toggle-panel --skip-wait";
|
||||||
|
on-click-right = "${swaync-client} --toggle-dnd --skip-wait";
|
||||||
|
escape = true;
|
||||||
|
};
|
||||||
|
"custom/weather" = {
|
||||||
|
format = "{}°";
|
||||||
|
tooltip = true;
|
||||||
|
interval = 3600;
|
||||||
|
exec = "${lib.getBin pkgs.wttrbar}/bin/wttrbar --nerd";
|
||||||
|
return-type = "json";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
34
homeConfigurations/muede/wlogout.nix
Normal file
34
homeConfigurations/muede/wlogout.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
{
|
||||||
|
config.programs.wlogout = {
|
||||||
|
enable = true;
|
||||||
|
style = ''
|
||||||
|
* {
|
||||||
|
/*background-image: none;*/
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
background-color: rgba(30, 30, 46, 0.90);
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
border-radius: 0;
|
||||||
|
border-color: #cba6f7;
|
||||||
|
text-decoration-color: #cdd6f4;
|
||||||
|
color: #cdd6f4;
|
||||||
|
background-color: #181825;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 1px;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: center;
|
||||||
|
background-size: 25%;
|
||||||
|
}
|
||||||
|
|
||||||
|
button:focus, button:active, button:hover {
|
||||||
|
/* 20% Overlay 2, 80% mantle */
|
||||||
|
background-color: rgb(48, 50, 66);
|
||||||
|
outline-style: none;
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
30
homeConfigurations/muede/zsh.nix
Normal file
30
homeConfigurations/muede/zsh.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
config.programs.zsh = {
|
||||||
|
initContent = ''
|
||||||
|
export PATH=$PATH:$HOME/.cargo/bin
|
||||||
|
|
||||||
|
bindkey "^[[1;5C" forward-word
|
||||||
|
bindkey "^[[1;5D" backward-word
|
||||||
|
'';
|
||||||
|
enableCompletion = true;
|
||||||
|
|
||||||
|
shellAliases = {
|
||||||
|
myos-rebuild-boot = "sudo nixos-rebuild boot --flake .# --show-trace --log-format internal-json -v |& ${pkgs.nix-output-monitor}/bin/nom --json";
|
||||||
|
myos-rebuild-switch = "sudo nixos-rebuild switch --flake .# --show-trace --log-format internal-json -v |& ${pkgs.nix-output-monitor}/bin/nom --json";
|
||||||
|
|
||||||
|
s = "nix-shell -p";
|
||||||
|
|
||||||
|
my-direnvallow = "echo \"use nix\" > .envrc && direnv allow";
|
||||||
|
my-ip4 = "ip addr show | grep 192";
|
||||||
|
deadnix = "nix run github:astro/deadnix -- ";
|
||||||
|
statix = "nix run github:oppiliappan/statix -- ";
|
||||||
|
};
|
||||||
|
|
||||||
|
history = {
|
||||||
|
size = 10000;
|
||||||
|
path = "${config.xdg.dataHome}/zsh/history";
|
||||||
|
expireDuplicatesFirst = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
options.vinzenz.gnome-extensions =
|
options.muede.gnome-extensions =
|
||||||
let
|
let
|
||||||
mkDefaultEnabledOption =
|
mkDefaultEnabledOption =
|
||||||
name:
|
name:
|
||||||
|
|
@ -40,7 +40,7 @@
|
||||||
|
|
||||||
config =
|
config =
|
||||||
let
|
let
|
||||||
cfg = config.vinzenz.gnome-extensions;
|
cfg = config.muede.gnome-extensions;
|
||||||
in
|
in
|
||||||
lib.mkIf cfg.enable (
|
lib.mkIf cfg.enable (
|
||||||
lib.mkMerge [
|
lib.mkMerge [
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue