forked from mirrors_public/oddlama_nix-config
refactor: remove stylix and some other unused stuff
This commit is contained in:
parent
4324219f64
commit
4fea58a290
25 changed files with 81 additions and 9213 deletions
|
@ -1,6 +1,5 @@
|
|||
{
|
||||
config,
|
||||
inputs,
|
||||
lib,
|
||||
minimal,
|
||||
pkgs,
|
||||
|
@ -23,9 +22,6 @@ in
|
|||
}
|
||||
// optionalAttrs (!minimal) {
|
||||
imports = [
|
||||
inputs.stylix.nixosModules.stylix
|
||||
inputs.whisper-overlay.nixosModules.default
|
||||
|
||||
./fonts.nix
|
||||
./steam.nix
|
||||
./xserver.nix
|
||||
|
@ -64,74 +60,5 @@ in
|
|||
binPath = lib.getExe pkgs.hyprland;
|
||||
};
|
||||
};
|
||||
|
||||
stylix = {
|
||||
enable = true;
|
||||
# I want to choose what to style myself.
|
||||
autoEnable = false;
|
||||
image = config.lib.stylix.pixel "base00";
|
||||
|
||||
polarity = "dark";
|
||||
|
||||
# onedark
|
||||
# base16Scheme = {
|
||||
# base00 = "#282c34";
|
||||
# base01 = "#353b45";
|
||||
# base02 = "#3e4451";
|
||||
# base03 = "#545862";
|
||||
# base04 = "#565c64";
|
||||
# base05 = "#abb2bf";
|
||||
# base06 = "#b6bdca";
|
||||
# base07 = "#c8ccd4";
|
||||
# base08 = "#e06c75";
|
||||
# base09 = "#d19a66";
|
||||
# base0A = "#e5c07b";
|
||||
# base0B = "#98c379";
|
||||
# base0C = "#56b6c2";
|
||||
# base0D = "#61afef";
|
||||
# base0E = "#c678dd";
|
||||
# base0F = "#9378de";
|
||||
# };
|
||||
|
||||
# based on decaycs-dark, normal variant
|
||||
base16Scheme = {
|
||||
base00 = "#101419";
|
||||
base01 = "#171b20";
|
||||
base02 = "#21262e";
|
||||
base03 = "#242931";
|
||||
base04 = "#485263";
|
||||
base05 = "#b6beca";
|
||||
base06 = "#dee1e6";
|
||||
base07 = "#e3e6eb";
|
||||
base08 = "#e05f65";
|
||||
base09 = "#f9a872";
|
||||
base0A = "#f1cf8a";
|
||||
base0B = "#78dba9";
|
||||
base0C = "#74bee9";
|
||||
base0D = "#70a5eb";
|
||||
base0E = "#c68aee";
|
||||
base0F = "#9378de";
|
||||
};
|
||||
|
||||
## based on decaycs-dark, bright variant
|
||||
#base16Scheme = {
|
||||
# base00 = "#101419";
|
||||
# base01 = "#171B20";
|
||||
# base02 = "#21262e";
|
||||
# base03 = "#242931";
|
||||
# base04 = "#485263";
|
||||
# base05 = "#b6beca";
|
||||
# base06 = "#dee1e6";
|
||||
# base07 = "#e3e6eb";
|
||||
# base08 = "#e5646a";
|
||||
# base09 = "#f7b77c";
|
||||
# base0A = "#f6d48f";
|
||||
# base0B = "#94F7C5";
|
||||
# base0C = "#79c3ee";
|
||||
# base0D = "#75aaf0";
|
||||
# base0E = "#cb8ff3";
|
||||
# base0F = "#9d85e1";
|
||||
#};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -34,30 +34,21 @@
|
|||
pkgs.noto-fonts-cjk-serif
|
||||
pkgs.noto-fonts-emoji
|
||||
pkgs.noto-fonts-extra
|
||||
|
||||
pkgs.dejavu_fonts
|
||||
pkgs.segoe-ui-ttf
|
||||
pkgs.jetbrains-mono
|
||||
];
|
||||
};
|
||||
|
||||
stylix.fonts = {
|
||||
serif = {
|
||||
package = pkgs.dejavu_fonts;
|
||||
name = "IBM Plex Serif";
|
||||
};
|
||||
|
||||
sansSerif = {
|
||||
package = pkgs.segoe-ui-ttf;
|
||||
name = "Segoe UI";
|
||||
};
|
||||
|
||||
monospace = {
|
||||
# No need for patched nerd fonts, kitty can pick up on them automatically,
|
||||
# and ideally every program should do that: https://sw.kovidgoyal.net/kitty/faq/#kitty-is-not-able-to-use-my-favorite-font
|
||||
package = pkgs.jetbrains-mono;
|
||||
name = "JetBrains Mono";
|
||||
};
|
||||
|
||||
emoji = {
|
||||
package = pkgs.segoe-ui-ttf;
|
||||
name = "Segoe UI Emoji";
|
||||
fontconfig.defaultFonts = {
|
||||
serif = [ "IBM Plex Serif" ];
|
||||
sansSerif = [ "Segoe UI" ];
|
||||
emoji = [ "Segoe UI Emoji" ];
|
||||
monospace = [
|
||||
# No need for patched nerd fonts, kitty can pick up on them automatically,
|
||||
# and ideally every program should do that: https://sw.kovidgoyal.net/kitty/faq/#kitty-is-not-able-to-use-my-favorite-font
|
||||
"JetBrains Mono"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -13,8 +13,6 @@
|
|||
inputs.nixos-extra-modules.homeManagerModules.default
|
||||
inputs.nix-index-database.hmModules.nix-index
|
||||
inputs.nixvim.homeManagerModules.nixvim
|
||||
inputs.wired-notify.homeManagerModules.default
|
||||
inputs.whisper-overlay.homeManagerModules.default
|
||||
{
|
||||
home.stateVersion = config.system.stateVersion;
|
||||
}
|
||||
|
|
660
flake.lock
generated
660
flake.lock
generated
|
@ -49,73 +49,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"base16": {
|
||||
"inputs": {
|
||||
"fromYaml": "fromYaml"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1746562888,
|
||||
"narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=",
|
||||
"owner": "SenchoPens",
|
||||
"repo": "base16.nix",
|
||||
"rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "SenchoPens",
|
||||
"repo": "base16.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"base16-fish": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1622559957,
|
||||
"narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=",
|
||||
"owner": "tomyun",
|
||||
"repo": "base16-fish",
|
||||
"rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tomyun",
|
||||
"repo": "base16-fish",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"base16-helix": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1748408240,
|
||||
"narHash": "sha256-9M2b1rMyMzJK0eusea0x3lyh3mu5nMeEDSc4RZkGm+g=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-helix",
|
||||
"rev": "6c711ab1a9db6f51e2f6887cc3345530b33e152e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-helix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"base16-vim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1732806396,
|
||||
"narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-vim",
|
||||
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-vim",
|
||||
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"crane": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
@ -333,28 +266,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"devshell_7": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_5",
|
||||
"nixpkgs": [
|
||||
"whisper-overlay",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1717408969,
|
||||
"narHash": "sha256-Q0OEFqe35fZbbRPPRdrjTUUChKVhhWXz3T9ZSKmaoVY=",
|
||||
"owner": "numtide",
|
||||
"repo": "devshell",
|
||||
"rev": "1ebbe68d57457c8cae98145410b164b5477761f4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "devshell",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"disko": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -448,22 +359,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"firefox-gnome-theme": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1748383148,
|
||||
"narHash": "sha256-pGvD/RGuuPf/4oogsfeRaeMm6ipUIznI2QSILKjKzeA=",
|
||||
"owner": "rafaelmardojai",
|
||||
"repo": "firefox-gnome-theme",
|
||||
"rev": "4eb2714fbed2b80e234312611a947d6cb7d70caf",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "rafaelmardojai",
|
||||
"repo": "firefox-gnome-theme",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
@ -480,37 +375,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_10": {
|
||||
"locked": {
|
||||
"lastModified": 1747046372,
|
||||
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_11": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_2": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
@ -756,63 +620,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_7": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"stylix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1743550720,
|
||||
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "c621e8422220273271f52058f618c94e405bb0f5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_8": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1717285511,
|
||||
"narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_9": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738453229,
|
||||
"narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
|
@ -885,66 +692,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_5": {
|
||||
"inputs": {
|
||||
"systems": "systems_8"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1701680307,
|
||||
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"fromYaml": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1731966426,
|
||||
"narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=",
|
||||
"owner": "SenchoPens",
|
||||
"repo": "fromYaml",
|
||||
"rev": "106af9e2f715e2d828df706c386a685698f3223b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "SenchoPens",
|
||||
"repo": "fromYaml",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"git-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": [
|
||||
"stylix",
|
||||
"flake-compat"
|
||||
],
|
||||
"gitignore": "gitignore_8",
|
||||
"nixpkgs": [
|
||||
"stylix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747372754,
|
||||
"narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -1098,67 +845,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore_8": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"stylix",
|
||||
"git-hooks",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709087332,
|
||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore_9": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"whisper-overlay",
|
||||
"pre-commit-hooks",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709087332,
|
||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gnome-shell": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1744584021,
|
||||
"narHash": "sha256-0RJ4mJzf+klKF4Fuoc8VN8dpQQtZnKksFmR2jhWE1Ew=",
|
||||
"owner": "GNOME",
|
||||
"repo": "gnome-shell",
|
||||
"rev": "52c517c8f6c199a1d6f5118fae500ef69ea845ae",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "GNOME",
|
||||
"ref": "48.1",
|
||||
"repo": "gnome-shell",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -1587,30 +1273,6 @@
|
|||
"url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib_4": {
|
||||
"locked": {
|
||||
"lastModified": 1717284937,
|
||||
"narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=",
|
||||
"type": "tarball",
|
||||
"url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib_5": {
|
||||
"locked": {
|
||||
"lastModified": 1738452942,
|
||||
"narHash": "sha256-vJzFZGaCpnmo7I6i416HaBLpC+hvcURh/BQwROcGIp8=",
|
||||
"type": "tarball",
|
||||
"url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1730741070,
|
||||
|
@ -1627,38 +1289,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable_2": {
|
||||
"locked": {
|
||||
"lastModified": 1718447546,
|
||||
"narHash": "sha256-JHuXsrC9pr4kA4n7LuuPfWFJUVlDBVJ1TXDVpHEuUgM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "842253bf992c3a7157b67600c2857193f126563a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-23.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1736320768,
|
||||
"narHash": "sha256-nIYdTAiKIGnFNugbomgBJR+Xv5F1ZQU+HfaBqJKroC0=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4bc9c909d9ac828a039f288cf872d16d38185db8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixvim": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_6",
|
||||
|
@ -1682,32 +1312,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nur": {
|
||||
"inputs": {
|
||||
"flake-parts": [
|
||||
"stylix",
|
||||
"flake-parts"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"stylix",
|
||||
"nixpkgs"
|
||||
],
|
||||
"treefmt-nix": "treefmt-nix_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1748730660,
|
||||
"narHash": "sha256-5LKmRYKdPuhm8j5GFe3AfrJL8dd8o57BQ34AGjJl1R0=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "2c0bc52fe14681e9ef60e3553888c4f086e46ecb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nuschtosSearch": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_4",
|
||||
|
@ -1943,30 +1547,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pre-commit-hooks_7": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_11",
|
||||
"gitignore": "gitignore_9",
|
||||
"nixpkgs": [
|
||||
"whisper-overlay",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": "nixpkgs-stable_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1718879355,
|
||||
"narHash": "sha256-RTyqP4fBX2MdhNuMP+fnR3lIwbdtXhyj7w7fwtvgspc=",
|
||||
"owner": "cachix",
|
||||
"repo": "pre-commit-hooks.nix",
|
||||
"rev": "8cd35b9496d21a6c55164d8547d9d5280162b07a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "pre-commit-hooks.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"purescript-overlay": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_2",
|
||||
|
@ -2073,10 +1653,7 @@
|
|||
"nixpkgs": "nixpkgs",
|
||||
"nixvim": "nixvim",
|
||||
"pre-commit-hooks": "pre-commit-hooks_6",
|
||||
"stylix": "stylix",
|
||||
"treefmt-nix": "treefmt-nix_5",
|
||||
"whisper-overlay": "whisper-overlay",
|
||||
"wired-notify": "wired-notify"
|
||||
"treefmt-nix": "treefmt-nix_4"
|
||||
}
|
||||
},
|
||||
"rust-overlay": {
|
||||
|
@ -2144,24 +1721,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"rust-overlay_4": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1740709839,
|
||||
"narHash": "sha256-4dF++MXIXna/AwlZWDKr7bgUmY4xoEwvkF1GewjNrt0=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "b4270835bf43c6f80285adac6f66a26d83f0f277",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"slimlock": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -2226,45 +1785,6 @@
|
|||
"url": "https://spectrum-os.org/git/spectrum"
|
||||
}
|
||||
},
|
||||
"stylix": {
|
||||
"inputs": {
|
||||
"base16": "base16",
|
||||
"base16-fish": "base16-fish",
|
||||
"base16-helix": "base16-helix",
|
||||
"base16-vim": "base16-vim",
|
||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||
"flake-compat": "flake-compat_10",
|
||||
"flake-parts": "flake-parts_7",
|
||||
"git-hooks": "git-hooks",
|
||||
"gnome-shell": "gnome-shell",
|
||||
"home-manager": [
|
||||
"home-manager"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nur": "nur",
|
||||
"systems": "systems_7",
|
||||
"tinted-foot": "tinted-foot",
|
||||
"tinted-kitty": "tinted-kitty",
|
||||
"tinted-schemes": "tinted-schemes",
|
||||
"tinted-tmux": "tinted-tmux",
|
||||
"tinted-zed": "tinted-zed"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1749236315,
|
||||
"narHash": "sha256-Ndtdvwz8D4WOYHl5mj9d5F5iC8WPH6uPNF7RcU3QzmE=",
|
||||
"owner": "danth",
|
||||
"repo": "stylix",
|
||||
"rev": "29d006198ee05143cca8b4b89f37025823da1bcc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "danth",
|
||||
"repo": "stylix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
|
@ -2355,117 +1875,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_7": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_8": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-foot": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1726913040,
|
||||
"narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-foot",
|
||||
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-foot",
|
||||
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-kitty": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1735730497,
|
||||
"narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-kitty",
|
||||
"rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-kitty",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-schemes": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1748180480,
|
||||
"narHash": "sha256-7n0XiZiEHl2zRhDwZd/g+p38xwEoWtT0/aESwTMXWG4=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "schemes",
|
||||
"rev": "87d652edd26f5c0c99deda5ae13dfb8ece2ffe31",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "schemes",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-tmux": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1748740859,
|
||||
"narHash": "sha256-OEM12bg7F4N5WjZOcV7FHJbqRI6jtCqL6u8FtPrlZz4=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-tmux",
|
||||
"rev": "57d5f9683ff9a3b590643beeaf0364da819aedda",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-tmux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-zed": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1725758778,
|
||||
"narHash": "sha256-8P1b6mJWyYcu36WRlSVbuj575QWIFZALZMTg5ID/sM4=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-zed",
|
||||
"rev": "122c9e5c0e6f27211361a04fae92df97940eccf9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-zed",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"treefmt": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -2552,28 +1961,6 @@
|
|||
}
|
||||
},
|
||||
"treefmt-nix_4": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"stylix",
|
||||
"nur",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733222881,
|
||||
"narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "49717b5af6f80172275d47a418c9719a31a78b53",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"treefmt-nix_5": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
|
@ -2614,51 +2001,6 @@
|
|||
"repo": "treefmt-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"whisper-overlay": {
|
||||
"inputs": {
|
||||
"devshell": "devshell_7",
|
||||
"flake-parts": "flake-parts_8",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"pre-commit-hooks": "pre-commit-hooks_7"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1721992624,
|
||||
"narHash": "sha256-qwfGxSjdUODysf93GtAK6v5GS0JAYwZeWVr8lQEBkPw=",
|
||||
"owner": "oddlama",
|
||||
"repo": "whisper-overlay",
|
||||
"rev": "b851520617887f09be614a990b2d50caba093525",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "oddlama",
|
||||
"repo": "whisper-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"wired-notify": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_9",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"rust-overlay": "rust-overlay_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1743305055,
|
||||
"narHash": "sha256-NIsi8Dno9YsOLUUTrLU4p+hxYeJr3Vkg1gIpQKVTaDs=",
|
||||
"owner": "Toqozz",
|
||||
"repo": "wired-notify",
|
||||
"rev": "75d43f54a02b15f2a15f5c1a0e1c7d15100067a6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Toqozz",
|
||||
"repo": "wired-notify",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
|
16
flake.nix
16
flake.nix
|
@ -95,26 +95,10 @@
|
|||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
stylix = {
|
||||
url = "github:danth/stylix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
inputs.home-manager.follows = "home-manager";
|
||||
};
|
||||
|
||||
treefmt-nix = {
|
||||
url = "github:numtide/treefmt-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
whisper-overlay = {
|
||||
url = "github:oddlama/whisper-overlay";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
wired-notify = {
|
||||
url = "github:Toqozz/wired-notify";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs =
|
||||
|
|
|
@ -57,13 +57,6 @@
|
|||
|
||||
graphical.gaming.enable = true;
|
||||
|
||||
stylix.fonts.sizes = {
|
||||
#desktop = 20;
|
||||
applications = 10;
|
||||
terminal = 20;
|
||||
popups = 20;
|
||||
};
|
||||
|
||||
nix.settings.trusted-substituters = [
|
||||
"https://ai.cachix.org"
|
||||
];
|
||||
|
|
|
@ -40,7 +40,6 @@
|
|||
inputs.nix-topology.overlays.default
|
||||
inputs.nixos-extra-modules.overlays.default
|
||||
inputs.nixvim.overlays.default
|
||||
inputs.wired-notify.overlays.default
|
||||
];
|
||||
|
||||
node.name = name;
|
||||
|
|
|
@ -19,9 +19,5 @@ _inputs: [
|
|||
# ];
|
||||
|
||||
ente-web = prev.callPackage ./ente-web.nix { };
|
||||
|
||||
formats = prev.formats // {
|
||||
ron = import ./ron.nix { inherit (prev) lib pkgs; };
|
||||
};
|
||||
})
|
||||
]
|
||||
|
|
180
pkgs/ron.nix
180
pkgs/ron.nix
|
@ -1,180 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
extensions ? [ ],
|
||||
}:
|
||||
let
|
||||
inherit (lib)
|
||||
boolToString
|
||||
concatMapStrings
|
||||
concatStringsSep
|
||||
escape
|
||||
length
|
||||
mapAttrsToList
|
||||
stringLength
|
||||
types
|
||||
;
|
||||
|
||||
toRon =
|
||||
indent: value:
|
||||
with builtins;
|
||||
if value == null then
|
||||
"None"
|
||||
else if isBool value then
|
||||
boolToString value
|
||||
else if isInt value || isFloat value then
|
||||
toString value
|
||||
else if isString value then
|
||||
string value
|
||||
else if isList value then
|
||||
list indent value
|
||||
else if isAttrs value then
|
||||
attrs indent value
|
||||
else
|
||||
abort "formats.ron: should never happen (value = ${value})";
|
||||
|
||||
specialType =
|
||||
indent:
|
||||
{
|
||||
value,
|
||||
_ronType,
|
||||
...
|
||||
}@args:
|
||||
if _ronType == "literal" then
|
||||
value
|
||||
else if _ronType == "raw_string" then
|
||||
rawString value
|
||||
else if _ronType == "char" then
|
||||
char value
|
||||
else if _ronType == "optional" then
|
||||
some indent value
|
||||
else if _ronType == "tuple" then
|
||||
tuple indent value
|
||||
else if _ronType == "struct" then
|
||||
struct indent args
|
||||
else
|
||||
abort "formats.ron: should never happen (_ronType = ${_ronType})";
|
||||
|
||||
escapedValues = escape [
|
||||
"\\"
|
||||
"\""
|
||||
];
|
||||
string = value: ''"${escapedValues value}"'';
|
||||
|
||||
listContent = indent: values: concatStringsSep ",\n${indent}" (map (toRon indent) values);
|
||||
|
||||
list =
|
||||
indent: values:
|
||||
if length values <= 1 then
|
||||
"[${listContent indent values}]"
|
||||
else
|
||||
let
|
||||
newIndent = "${indent}\t";
|
||||
in
|
||||
"[\n${newIndent}${listContent newIndent values}\n${indent}]";
|
||||
|
||||
attrs =
|
||||
indent: set:
|
||||
if set ? _ronType then
|
||||
specialType indent set
|
||||
else
|
||||
let
|
||||
newIndent = "${indent}\t";
|
||||
toEntry = n: v: "${toRon newIndent n}: ${toRon newIndent v}";
|
||||
entries = concatStringsSep ",\n${newIndent}" (mapAttrsToList toEntry set);
|
||||
in
|
||||
"{\n${indent}${entries}\n${indent}}";
|
||||
|
||||
rawString = value: ''r#"${value}"#'';
|
||||
char = value: "'${escapedValues value}'";
|
||||
some = indent: value: "Some(${toRon indent value})";
|
||||
tuple =
|
||||
indent: values:
|
||||
let
|
||||
newIndent = "${indent}\t";
|
||||
in
|
||||
"(\n${newIndent}${listContent newIndent values}\n${indent})";
|
||||
|
||||
struct =
|
||||
indent:
|
||||
{
|
||||
name,
|
||||
value,
|
||||
...
|
||||
}:
|
||||
let
|
||||
newIndent = "${indent}\t";
|
||||
toEntry = n: v: "${n}: ${toRon newIndent v}";
|
||||
entriesStr =
|
||||
if value ? _ronType then
|
||||
specialType indent value
|
||||
else if !builtins.isAttrs value then
|
||||
toRon indent value
|
||||
else
|
||||
let
|
||||
entries = mapAttrsToList toEntry value;
|
||||
entriesStrSpace = concatStringsSep ", " entries;
|
||||
entriesStrNl = "\n${newIndent}${concatStringsSep ",\n${newIndent}" entries}\n${indent}";
|
||||
in
|
||||
if stringLength (indent + entriesStrSpace) < 120 then entriesStrSpace else entriesStrNl;
|
||||
in
|
||||
if stringLength name == 0 then "(${entriesStr})" else "${name} (${entriesStr})";
|
||||
|
||||
toFile = value: ''${concatMapStrings (x: "${x}\n") extensions}${toRon "" value}'';
|
||||
in
|
||||
{
|
||||
type =
|
||||
let
|
||||
valueType =
|
||||
types.nullOr (
|
||||
types.oneOf [
|
||||
types.bool
|
||||
types.int
|
||||
types.float
|
||||
types.str
|
||||
(types.attrsOf valueType)
|
||||
(types.listOf valueType)
|
||||
]
|
||||
)
|
||||
// {
|
||||
description = "RON value";
|
||||
};
|
||||
in
|
||||
valueType;
|
||||
|
||||
lib =
|
||||
let
|
||||
mkType = typeName: value: {
|
||||
inherit value;
|
||||
_ronType = typeName;
|
||||
};
|
||||
in
|
||||
rec {
|
||||
mkLiteral = mkType "literal";
|
||||
rawString = mkType "raw_string";
|
||||
char = mkType "character";
|
||||
some = mkType "optional";
|
||||
enum = mkLiteral;
|
||||
tuple = mkType "tuple";
|
||||
struct = name: value: {
|
||||
inherit value name;
|
||||
_ronType = "struct";
|
||||
};
|
||||
|
||||
types = { };
|
||||
};
|
||||
|
||||
generate =
|
||||
name: value:
|
||||
pkgs.runCommand name
|
||||
{
|
||||
value = toFile value;
|
||||
passAsFile = [ "value" ];
|
||||
}
|
||||
''
|
||||
cp "$valuePath" "$out"
|
||||
'';
|
||||
}
|
|
@ -21,8 +21,6 @@ writeShellApplication {
|
|||
--transient \
|
||||
--hint=string:image-path:"$image" \
|
||||
--hint=int:value:"$value" \
|
||||
--hint="string:wired-tag:indicator" \
|
||||
--hint="string:wired-note:brightness" \
|
||||
--expire-time=1000 \
|
||||
|| true
|
||||
'';
|
||||
|
|
|
@ -19,7 +19,6 @@ writeShellApplication {
|
|||
grimblast --freeze save screen "$out" || exit 2
|
||||
notify-send \
|
||||
"📷 Screenshot captured" "💾 Saved to $out" \
|
||||
--hint="string:wired-tag:screenshot-$date" \
|
||||
|| true
|
||||
'';
|
||||
}
|
||||
|
|
|
@ -27,10 +27,8 @@ writeShellApplication {
|
|||
fi
|
||||
|
||||
if [[ "$value" -gt 100 ]]; then
|
||||
note=volume-overdrive
|
||||
indicator_value=$((value - 100))
|
||||
else
|
||||
note=volume
|
||||
indicator_value="$value"
|
||||
fi
|
||||
|
||||
|
@ -39,8 +37,6 @@ writeShellApplication {
|
|||
--transient \
|
||||
--hint=string:image-path:"$image" \
|
||||
--hint=int:value:"$indicator_value" \
|
||||
--hint="string:wired-tag:indicator" \
|
||||
--hint="string:wired-note:$note" \
|
||||
--expire-time=1000 \
|
||||
|| true
|
||||
'';
|
||||
|
|
|
@ -1,568 +0,0 @@
|
|||
[%General]
|
||||
author=KvBase16 by oddlama based on KvLibadwaita Dark by Vince Liuice, based on KvAdapta by Tsu Jan
|
||||
comment=An base16 theme based on KvLibadwaita
|
||||
x11drag=menubar_and_primary_toolbar
|
||||
alt_mnemonic=true
|
||||
left_tabs=false
|
||||
attach_active_tab=false
|
||||
mirror_doc_tabs=false
|
||||
group_toolbar_buttons=true
|
||||
toolbar_item_spacing=0
|
||||
toolbar_interior_spacing=2
|
||||
spread_progressbar=true
|
||||
composite=true
|
||||
menu_shadow_depth=16
|
||||
spread_menuitems=true
|
||||
tooltip_shadow_depth=7
|
||||
splitter_width=1
|
||||
scroll_width=9
|
||||
scroll_arrows=false
|
||||
scroll_min_extent=60
|
||||
slider_width=2
|
||||
slider_handle_width=23
|
||||
slider_handle_length=22
|
||||
tickless_slider_handle_size=22
|
||||
center_toolbar_handle=true
|
||||
check_size=24
|
||||
textless_progressbar=false
|
||||
progressbar_thickness=2
|
||||
menubar_mouse_tracking=true
|
||||
toolbutton_style=1
|
||||
double_click=false
|
||||
translucent_windows=false
|
||||
blurring=false
|
||||
popup_blurring=false
|
||||
vertical_spin_indicators=false
|
||||
spin_button_width=24
|
||||
fill_rubberband=false
|
||||
merge_menubar_with_toolbar=true
|
||||
small_icon_size=16
|
||||
large_icon_size=32
|
||||
button_icon_size=16
|
||||
toolbar_icon_size=16
|
||||
combo_as_lineedit=true
|
||||
animate_states=true
|
||||
button_contents_shift=false
|
||||
combo_menu=true
|
||||
hide_combo_checkboxes=true
|
||||
combo_focus_rect=false
|
||||
groupbox_top_label=true
|
||||
inline_spin_indicators=true
|
||||
joined_inactive_tabs=false
|
||||
layout_spacing=6
|
||||
layout_margin=9
|
||||
scrollbar_in_view=true
|
||||
transient_scrollbar=true
|
||||
transient_groove=true
|
||||
submenu_overlap=0
|
||||
tooltip_delay=0
|
||||
tree_branch_line=true
|
||||
no_window_pattern=false
|
||||
opaque=kaffeine,kmplayer,subtitlecomposer,kdenlive,vlc,smplayer,smplayer2,avidemux,avidemux2_qt4,avidemux3_qt4,avidemux3_qt5,kamoso,QtCreator,VirtualBox,trojita,dragon,digikam
|
||||
reduce_window_opacity=0
|
||||
respect_DE=true
|
||||
scrollable_menu=false
|
||||
submenu_delay=150
|
||||
no_inactiveness=false
|
||||
reduce_menu_opacity=0
|
||||
click_behavior=0
|
||||
contrast=1.00
|
||||
dialog_button_layout=0
|
||||
intensity=1.00
|
||||
saturation=1.00
|
||||
shadowless_popup=false
|
||||
drag_from_buttons=false
|
||||
menu_blur_radius=0
|
||||
tooltip_blur_radius=0
|
||||
|
||||
[GeneralColors]
|
||||
window.color=#2c2c2c
|
||||
base.color=#2c2c2c
|
||||
alt.base.color=#2e2e2e
|
||||
button.color=#4d4d4d
|
||||
light.color=#535353
|
||||
mid.light.color=#474747
|
||||
dark.color=#282828
|
||||
mid.color=#323232
|
||||
highlight.color=#3584e4
|
||||
inactive.highlight.color=#3584e4
|
||||
text.color=#dfdfdf
|
||||
window.text.color=#dfdfdf
|
||||
button.text.color=#dfdfdf
|
||||
disabled.text.color=#696969
|
||||
tooltip.text.color=#efefef
|
||||
highlight.text.color=#ffffff
|
||||
link.color=#0057AE
|
||||
link.visited.color=#E040FB
|
||||
progress.indicator.text.color=#dfdfdf
|
||||
|
||||
[Hacks]
|
||||
transparent_ktitle_label=true
|
||||
transparent_dolphin_view=true
|
||||
transparent_pcmanfm_sidepane=true
|
||||
blur_translucent=false
|
||||
transparent_menutitle=true
|
||||
respect_darkness=true
|
||||
kcapacitybar_as_progressbar=true
|
||||
force_size_grip=true
|
||||
iconless_pushbutton=true
|
||||
iconless_menu=false
|
||||
disabled_icon_opacity=100
|
||||
lxqtmainmenu_iconsize=16
|
||||
normal_default_pushbutton=true
|
||||
single_top_toolbar=true
|
||||
tint_on_mouseover=0
|
||||
transparent_pcmanfm_view=true
|
||||
no_selection_tint=true
|
||||
transparent_arrow_button=true
|
||||
middle_click_scroll=false
|
||||
opaque_colors=false
|
||||
kinetic_scrolling=false
|
||||
scroll_jump_workaround=true
|
||||
centered_forms=false
|
||||
noninteger_translucency=false
|
||||
style_vertical_toolbars=false
|
||||
blur_only_active_window=true
|
||||
|
||||
[PanelButtonCommand]
|
||||
frame=true
|
||||
frame.element=button
|
||||
frame.top=6
|
||||
frame.bottom=6
|
||||
frame.left=6
|
||||
frame.right=6
|
||||
interior=true
|
||||
interior.element=button
|
||||
indicator.size=8
|
||||
text.normal.color=#dfdfdf
|
||||
text.focus.color=white
|
||||
text.press.color=white
|
||||
text.toggle.color=#ffffff
|
||||
text.shadow=0
|
||||
text.margin=4
|
||||
text.iconspacing=4
|
||||
indicator.element=arrow
|
||||
frame.expansion=0
|
||||
|
||||
[PanelButtonTool]
|
||||
inherits=PanelButtonCommand
|
||||
text.normal.color=#dfdfdf
|
||||
text.focus.color=white
|
||||
text.press.color=white
|
||||
text.toggle.color=#ffffff
|
||||
text.bold=false
|
||||
indicator.element=arrow
|
||||
indicator.size=0
|
||||
frame.expansion=0
|
||||
|
||||
[ToolbarButton]
|
||||
frame=true
|
||||
frame.element=tbutton
|
||||
interior.element=tbutton
|
||||
frame.top=16
|
||||
frame.bottom=16
|
||||
frame.left=16
|
||||
frame.right=16
|
||||
indicator.element=tarrow
|
||||
text.normal.color=#dfdfdf
|
||||
text.focus.color=white
|
||||
text.press.color=white
|
||||
text.toggle.color=white
|
||||
text.bold=false
|
||||
frame.expansion=32
|
||||
|
||||
[Dock]
|
||||
inherits=PanelButtonCommand
|
||||
interior.element=dock
|
||||
frame.element=dock
|
||||
frame.top=1
|
||||
frame.bottom=1
|
||||
frame.left=1
|
||||
frame.right=1
|
||||
text.normal.color=#dfdfdf
|
||||
|
||||
[DockTitle]
|
||||
inherits=PanelButtonCommand
|
||||
frame=false
|
||||
interior=false
|
||||
text.normal.color=#dfdfdf
|
||||
text.focus.color=white
|
||||
text.bold=false
|
||||
|
||||
[IndicatorSpinBox]
|
||||
inherits=PanelButtonCommand
|
||||
frame=true
|
||||
interior=true
|
||||
frame.top=2
|
||||
frame.bottom=2
|
||||
frame.left=2
|
||||
frame.right=2
|
||||
indicator.element=spin
|
||||
indicator.size=8
|
||||
text.normal.color=#dfdfdf
|
||||
text.margin.top=2
|
||||
text.margin.bottom=2
|
||||
text.margin.left=2
|
||||
text.margin.right=2
|
||||
|
||||
[RadioButton]
|
||||
inherits=PanelButtonCommand
|
||||
frame=false
|
||||
interior.element=radio
|
||||
text.normal.color=#dfdfdf
|
||||
text.focus.color=white
|
||||
min_width=+0.3font
|
||||
min_height=+0.3font
|
||||
|
||||
[CheckBox]
|
||||
inherits=PanelButtonCommand
|
||||
frame=false
|
||||
interior.element=checkbox
|
||||
text.normal.color=#dfdfdf
|
||||
text.focus.color=white
|
||||
min_width=+0.3font
|
||||
min_height=+0.3font
|
||||
|
||||
[Focus]
|
||||
inherits=PanelButtonCommand
|
||||
frame=true
|
||||
frame.element=focus
|
||||
frame.top=2
|
||||
frame.bottom=2
|
||||
frame.left=2
|
||||
frame.right=2
|
||||
frame.patternsize=14
|
||||
|
||||
[GenericFrame]
|
||||
inherits=PanelButtonCommand
|
||||
frame=true
|
||||
interior=false
|
||||
frame.element=common
|
||||
interior.element=common
|
||||
frame.top=1
|
||||
frame.bottom=1
|
||||
frame.left=1
|
||||
frame.right=1
|
||||
|
||||
[LineEdit]
|
||||
inherits=PanelButtonCommand
|
||||
frame.element=lineedit
|
||||
interior.element=lineedit
|
||||
frame.top=6
|
||||
frame.bottom=6
|
||||
frame.left=6
|
||||
frame.right=6
|
||||
text.margin.top=2
|
||||
text.margin.bottom=2
|
||||
text.margin.left=2
|
||||
text.margin.right=2
|
||||
|
||||
[ToolbarLineEdit]
|
||||
frame.element=lineedit
|
||||
interior.element=lineedit
|
||||
|
||||
[DropDownButton]
|
||||
inherits=PanelButtonCommand
|
||||
indicator.element=arrow-down
|
||||
|
||||
[IndicatorArrow]
|
||||
indicator.element=arrow
|
||||
indicator.size=8
|
||||
|
||||
[ToolboxTab]
|
||||
inherits=PanelButtonCommand
|
||||
text.normal.color=#dfdfdf
|
||||
text.press.color=#dfdfdf
|
||||
text.focus.color=white
|
||||
|
||||
[Tab]
|
||||
inherits=PanelButtonCommand
|
||||
interior.element=tab
|
||||
text.margin.left=8
|
||||
text.margin.right=8
|
||||
text.margin.top=0
|
||||
text.margin.bottom=0
|
||||
frame.element=tab
|
||||
indicator.element=tab
|
||||
indicator.size=22
|
||||
frame.top=8
|
||||
frame.bottom=8
|
||||
frame.left=8
|
||||
frame.right=8
|
||||
text.normal.color=#dfdfdf
|
||||
text.focus.color=#dfdfdf
|
||||
text.press.color=white
|
||||
text.toggle.color=white
|
||||
frame.expansion=0
|
||||
text.bold=false
|
||||
|
||||
[TabFrame]
|
||||
inherits=PanelButtonCommand
|
||||
frame.element=tabframe
|
||||
interior.element=tabframe
|
||||
frame.top=24
|
||||
frame.bottom=24
|
||||
frame.left=24
|
||||
frame.right=24
|
||||
|
||||
[TreeExpander]
|
||||
inherits=PanelButtonCommand
|
||||
indicator.size=8
|
||||
indicator.element=tree
|
||||
|
||||
[HeaderSection]
|
||||
inherits=PanelButtonCommand
|
||||
interior.element=header
|
||||
frame.element=header
|
||||
frame.top=0
|
||||
frame.bottom=1
|
||||
frame.left=1
|
||||
frame.right=1
|
||||
text.normal.color=#dfdfdf
|
||||
text.focus.color=white
|
||||
text.press.color=white
|
||||
text.toggle.color=white
|
||||
frame.expansion=0
|
||||
|
||||
[SizeGrip]
|
||||
indicator.element=resize-grip
|
||||
|
||||
[Toolbar]
|
||||
inherits=PanelButtonCommand
|
||||
indicator.element=toolbar
|
||||
indicator.size=5
|
||||
text.margin=0
|
||||
interior.element=menubar
|
||||
frame.element=menubar
|
||||
text.normal.color=#dfdfdf
|
||||
text.focus.color=white
|
||||
text.press.color=#dfdfdf
|
||||
text.toggle.color=white
|
||||
frame.left=6
|
||||
frame.right=6
|
||||
frame.top=0
|
||||
frame.bottom=1
|
||||
frame.expansion=0
|
||||
|
||||
[Slider]
|
||||
inherits=PanelButtonCommand
|
||||
frame.element=slider
|
||||
focusFrame=true
|
||||
interior.element=slider
|
||||
frame.top=3
|
||||
frame.bottom=3
|
||||
frame.left=3
|
||||
frame.right=3
|
||||
|
||||
[SliderCursor]
|
||||
inherits=PanelButtonCommand
|
||||
frame=false
|
||||
interior.element=slidercursor
|
||||
|
||||
[Progressbar]
|
||||
inherits=PanelButtonCommand
|
||||
frame.element=progress
|
||||
interior.element=progress
|
||||
text.margin=0
|
||||
text.normal.color=#dfdfdf
|
||||
text.focus.color=#dfdfdf
|
||||
text.press.color=#dfdfdf
|
||||
text.toggle.color=#dfdfdf
|
||||
text.bold=false
|
||||
frame.expansion=8
|
||||
|
||||
[ProgressbarContents]
|
||||
inherits=PanelButtonCommand
|
||||
frame=true
|
||||
frame.element=progress-pattern
|
||||
interior.element=progress-pattern
|
||||
|
||||
[ItemView]
|
||||
inherits=PanelButtonCommand
|
||||
text.margin=0
|
||||
frame.element=itemview
|
||||
interior.element=itemview
|
||||
frame.top=4
|
||||
frame.bottom=4
|
||||
frame.left=4
|
||||
frame.right=4
|
||||
text.margin.top=0
|
||||
text.margin.bottom=0
|
||||
text.margin.left=8
|
||||
text.margin.right=8
|
||||
text.normal.color=#dfdfdf
|
||||
text.focus.color=#dfdfdf
|
||||
text.press.color=#ffffff
|
||||
text.toggle.color=#ffffff
|
||||
min_width=+0.3font
|
||||
min_height=+0.3font
|
||||
frame.expansion=0
|
||||
|
||||
[Splitter]
|
||||
interior.element=splitter
|
||||
frame=false
|
||||
indicator.size=0
|
||||
|
||||
[Scrollbar]
|
||||
inherits=PanelButtonCommand
|
||||
indicator.element=arrow
|
||||
indicator.size=12
|
||||
|
||||
[ScrollbarSlider]
|
||||
inherits=PanelButtonCommand
|
||||
frame.element=scrollbarslider
|
||||
interior=false
|
||||
frame.left=5
|
||||
frame.right=5
|
||||
frame.top=5
|
||||
frame.bottom=5
|
||||
indicator.element=grip
|
||||
indicator.size=12
|
||||
|
||||
[ScrollbarGroove]
|
||||
inherits=PanelButtonCommand
|
||||
interior=false
|
||||
frame=false
|
||||
|
||||
[Menu]
|
||||
inherits=PanelButtonCommand
|
||||
frame.top=8
|
||||
frame.bottom=8
|
||||
frame.left=8
|
||||
frame.right=8
|
||||
frame.element=menu
|
||||
interior.element=menu
|
||||
text.normal.color=#dedede
|
||||
text.shadow=false
|
||||
text.bold=false
|
||||
|
||||
[MenuItem]
|
||||
inherits=PanelButtonCommand
|
||||
frame=true
|
||||
frame.element=menuitem
|
||||
interior.element=menuitem
|
||||
indicator.element=menuitem
|
||||
text.normal.color=#dedede
|
||||
text.focus.color=#dedede
|
||||
text.margin.top=0
|
||||
text.margin.bottom=0
|
||||
text.margin.left=6
|
||||
text.margin.right=6
|
||||
frame.top=4
|
||||
frame.bottom=4
|
||||
frame.left=12
|
||||
frame.right=12
|
||||
text.bold=false
|
||||
frame.expansion=0
|
||||
|
||||
[MenuBar]
|
||||
inherits=PanelButtonCommand
|
||||
frame.element=menubar
|
||||
interior.element=menubar
|
||||
frame.bottom=0
|
||||
text.normal.color=#dfdfdf
|
||||
text.focus.color=#ffffff
|
||||
text.press.color=#ffffff
|
||||
text.toggle.color=#ffffff
|
||||
frame.expansion=0
|
||||
text.bold=false
|
||||
|
||||
[MenuBarItem]
|
||||
inherits=PanelButtonCommand
|
||||
interior=true
|
||||
interior.element=menubaritem
|
||||
frame.element=menubaritem
|
||||
frame.top=2
|
||||
frame.bottom=2
|
||||
frame.left=2
|
||||
frame.right=2
|
||||
text.margin.left=4
|
||||
text.margin.right=4
|
||||
text.margin.top=0
|
||||
text.margin.bottom=0
|
||||
text.normal.color=#dfdfdf
|
||||
text.focus.color=#ffffff
|
||||
text.press.color=#ffffff
|
||||
text.toggle.color=#ffffff
|
||||
text.bold=false
|
||||
min_width=+0.3font
|
||||
min_height=+0.3font
|
||||
frame.expansion=0
|
||||
|
||||
[TitleBar]
|
||||
inherits=PanelButtonCommand
|
||||
frame=false
|
||||
text.margin.top=2
|
||||
text.margin.bottom=2
|
||||
text.margin.left=2
|
||||
text.margin.right=2
|
||||
interior.element=titlebar
|
||||
indicator.size=16
|
||||
indicator.element=mdi
|
||||
text.normal.color=#787878
|
||||
text.focus.color=#dfdfdf
|
||||
text.bold=false
|
||||
text.italic=true
|
||||
frame.expansion=0
|
||||
|
||||
[ComboBox]
|
||||
inherits=PanelButtonCommand
|
||||
frame.element=combo
|
||||
interior.element=combo
|
||||
frame.top=6
|
||||
frame.bottom=6
|
||||
frame.left=6
|
||||
frame.right=6
|
||||
text.margin.top=2
|
||||
text.margin.bottom=2
|
||||
text.margin.left=2
|
||||
text.margin.right=2
|
||||
text.focus.color=white
|
||||
text.press.color=#dfdfdf
|
||||
text.toggle.color=white
|
||||
|
||||
[GroupBox]
|
||||
inherits=GenericFrame
|
||||
frame=false
|
||||
text.shadow=0
|
||||
text.margin=0
|
||||
text.normal.color=#dfdfdf
|
||||
text.focus.color=white
|
||||
text.bold=false
|
||||
frame.expansion=0
|
||||
|
||||
[TabBarFrame]
|
||||
inherits=GenericFrame
|
||||
frame=false
|
||||
frame.element=tabBarFrame
|
||||
interior=false
|
||||
frame.top=0
|
||||
frame.bottom=0
|
||||
frame.left=0
|
||||
frame.right=0
|
||||
|
||||
[ToolTip]
|
||||
inherits=GenericFrame
|
||||
frame.top=6
|
||||
frame.bottom=6
|
||||
frame.left=6
|
||||
frame.right=6
|
||||
interior=true
|
||||
text.shadow=0
|
||||
text.margin=6
|
||||
interior.element=tooltip
|
||||
frame.element=tooltip
|
||||
frame.expansion=6
|
||||
|
||||
[StatusBar]
|
||||
inherits=GenericFrame
|
||||
frame=false
|
||||
interior=false
|
||||
|
||||
[Window]
|
||||
interior=true
|
||||
interior.element=window
|
||||
frame=true
|
||||
frame.element=window
|
||||
frame.bottom=10
|
||||
frame.top=10
|
File diff suppressed because it is too large
Load diff
Before Width: | Height: | Size: 203 KiB |
|
@ -18,7 +18,6 @@
|
|||
# X11
|
||||
./i3.nix
|
||||
./flameshot.nix
|
||||
./wired-notify.nix
|
||||
|
||||
# Wayland
|
||||
./gpu-screen-recorder.nix
|
||||
|
@ -27,7 +26,6 @@
|
|||
./sway.nix
|
||||
./swaync.nix
|
||||
./waybar.nix
|
||||
./whisper-overlay.nix
|
||||
]
|
||||
++ lib.optionals nixosConfig.graphical.gaming.enable [
|
||||
./games
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
...
|
||||
}:
|
||||
let
|
||||
colors = config.lib.stylix.colors.withHashtag;
|
||||
colors = config.lib.colors.withHashtag;
|
||||
in
|
||||
{
|
||||
xdg.configFile."flameshot/flameshot.ini".source = (pkgs.formats.ini { }).generate "flameshot.ini" {
|
||||
|
|
|
@ -1,12 +1,26 @@
|
|||
{ config, ... }:
|
||||
{
|
||||
home.persistence."/state".files = [
|
||||
".cache/fuzzel"
|
||||
];
|
||||
|
||||
stylix.targets.fuzzel.enable = true;
|
||||
programs.fuzzel = {
|
||||
enable = true;
|
||||
settings.colors = with config.lib.colors.hex; {
|
||||
background = "${base00}ff";
|
||||
text = "${base05}ff";
|
||||
placeholder = "${base03}ff";
|
||||
prompt = "${base05}ff";
|
||||
input = "${base05}ff";
|
||||
match = "${base0A}ff";
|
||||
selection = "${base03}ff";
|
||||
selection-text = "${base05}ff";
|
||||
selection-match = "${base0A}ff";
|
||||
counter = "${base06}ff";
|
||||
border = "${base0D}ff";
|
||||
};
|
||||
settings.main = {
|
||||
font = "Segoe UI:size=20";
|
||||
launch-prefix = "uwsm app --";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -238,7 +238,6 @@ in
|
|||
};
|
||||
|
||||
systemd.user.services = {
|
||||
wired.Install.WantedBy = lib.mkForce [ "i3-session.target" ];
|
||||
flameshot.Install.WantedBy = lib.mkForce [ "i3-session.target" ];
|
||||
};
|
||||
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
@ -8,13 +6,18 @@
|
|||
home.sessionVariables = {
|
||||
TERMINFO_DIRS = "${pkgs.kitty.terminfo.outPath}/share/terminfo";
|
||||
};
|
||||
stylix.targets.kitty.enable = true;
|
||||
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
font = {
|
||||
package = pkgs.jetbrains-mono;
|
||||
name = "JetBrains Mono";
|
||||
size = 20;
|
||||
};
|
||||
settings = {
|
||||
bold_font = "${config.programs.kitty.font.name} Bold";
|
||||
italic_font = "${config.programs.kitty.font.name} Italic";
|
||||
bold_italic_font = "${config.programs.kitty.font.name} Bold Italic";
|
||||
bold_font = "JetBrains Mono Bold";
|
||||
italic_font = "JetBrains Mono Italic";
|
||||
bold_italic_font = "JetBrains Mono Bold Italic";
|
||||
# Add nerd font symbol map. Not sure why it is suddenly needed since 0.32.0 (https://github.com/kovidgoyal/kitty/issues/7081)
|
||||
symbol_map = "U+23FB-U+23FE,U+2665,U+26A1,U+2B58,U+E000-U+E00A,U+E0A0-U+E0A2,U+E0A3,U+E0B0-U+E0B3,U+E0B4-U+E0C8,U+E0CA,U+E0CC-U+E0D4,U+E200-U+E2A9,U+E300-U+E3E3,U+E5FA-U+E6B1,U+E700-U+E7C5,U+EA60-U+EBEB,U+F000-U+F2E0,U+F300-U+F372,U+F400-U+F532,U+F500-U+FD46,U+F0001-U+F1AF0 Symbols Nerd Font Mono";
|
||||
|
||||
|
@ -73,10 +76,8 @@
|
|||
"ctrl+shift+," = "change_font_size all +2.0";
|
||||
"ctrl+shift+w" = "no_op";
|
||||
};
|
||||
# XXX: mkForce to prevent stylix from appending theme.
|
||||
# Fix this by making a correct theme that can be used.
|
||||
# TODO aaaaaaaaaa
|
||||
extraConfig = lib.mkForce ''
|
||||
|
||||
extraConfig = ''
|
||||
# Use nvim as scrollback pager
|
||||
scrollback_pager nvim -u NONE -c "set nonumber nolist showtabline=0 foldcolumn=0 laststatus=0" -c "autocmd TermOpen * normal G" -c "silent write! /tmp/kitty_scrollback_buffer | te head -c-1 /tmp/kitty_scrollback_buffer; rm /tmp/kitty_scrollback_buffer; cat"
|
||||
'';
|
||||
|
|
|
@ -66,7 +66,7 @@
|
|||
};
|
||||
style =
|
||||
lib.concatLines (
|
||||
map (c: "@define-color ${c} ${config.lib.stylix.colors.withHashtag.${c}};") [
|
||||
map (c: "@define-color ${c} ${config.lib.colors.withHashtag.${c}};") [
|
||||
"base00"
|
||||
"base01"
|
||||
"base02"
|
||||
|
|
|
@ -1,129 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
short_summary=("Short summary")
|
||||
long_summary=("Long summary, it will be truncated because it is really really long")
|
||||
|
||||
short_body=("Short body.")
|
||||
long_body=("Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.")
|
||||
|
||||
app_discord=(
|
||||
"--app-name=Discord"
|
||||
"--icon=/run/current-system/etc/profiles/per-user/$USER/share/pixmaps/discord.png"
|
||||
)
|
||||
|
||||
image_1=("--hint=string:image-path:$HOME/Downloads/img.jpg")
|
||||
|
||||
urgency_low=("--urgency=low")
|
||||
urgency_normal=("--urgency=normal")
|
||||
urgency_critical=("--urgency=critical")
|
||||
|
||||
slider_0=("-h" "int:value:0")
|
||||
slider_25=("-h" "int:value:25")
|
||||
slider_100=("-h" "int:value:100")
|
||||
|
||||
actions_yes_no=("-A" "yes" "-A" "no")
|
||||
actions_5=("-A" "yes" "-A" "no" "-A" "maybe" "-A" "cancel" "-A" "very long name is truncated")
|
||||
|
||||
function show() {
|
||||
args=()
|
||||
while [[ $# -gt 0 ]]; do
|
||||
if [[ -v "$1" ]]; then
|
||||
x="$1[@]"
|
||||
args+=("${!x}")
|
||||
else
|
||||
args+=("$1")
|
||||
fi
|
||||
shift
|
||||
done
|
||||
notify-send "${args[@]}"
|
||||
}
|
||||
|
||||
show short_summary
|
||||
show long_summary
|
||||
show long_summary long_body
|
||||
|
||||
show "Low urgency" short_body urgency_low
|
||||
show "Normal urgency" short_body urgency_normal
|
||||
show "Critical urgency" short_body urgency_critical
|
||||
|
||||
show "With app icon and name" app_discord
|
||||
show "With app icon and name" long_body app_discord
|
||||
|
||||
show "With image" short_body image_1
|
||||
show "With image and body" long_body image_1
|
||||
|
||||
show "With progress" slider_0
|
||||
show "With progress" slider_25
|
||||
show "With progress and body" short_body slider_100
|
||||
|
||||
show "With buttons" actions_yes_no
|
||||
show "With buttons and body" long_body actions_5
|
||||
|
||||
show "With everything" long_body app_discord image_1 slider_25 actions_5
|
||||
|
||||
show "Volume" --hint=string:image-path:$HOME/Downloads/Speaker_Icon.svg \
|
||||
-h int:value:69 \
|
||||
-h "string:wired-tag:indicator" \
|
||||
-h "string:wired-note:volume"
|
||||
|
||||
sleep 5
|
||||
|
||||
show "Brightness" --hint=string:image-path:$HOME/Downloads/brightness.svg \
|
||||
-h int:value:69 \
|
||||
-h "string:wired-tag:indicator" \
|
||||
-h "string:wired-note:brightness"
|
||||
|
||||
#for summary in \
|
||||
# "Short summary" \
|
||||
# "Long summary, it will be truncated because it is really really long" \
|
||||
#; do
|
||||
#
|
||||
#for body in \
|
||||
# "Short body." \
|
||||
# "$lorem" \
|
||||
#; do
|
||||
#
|
||||
#for app in \
|
||||
# "empty[@]" \
|
||||
# "app_discord[@]" \
|
||||
#; do
|
||||
#
|
||||
#for image in \
|
||||
# "empty[@]" \
|
||||
# "image_1[@]" \
|
||||
#; do
|
||||
#
|
||||
#for urgency in \
|
||||
# "urgency_low[@]" \
|
||||
# "urgency_normal[@]" \
|
||||
# "urgency_critical[@]" \
|
||||
#; do
|
||||
#
|
||||
#for progress in \
|
||||
# "empty[@]" \
|
||||
# "slider_0[@]" \
|
||||
# "slider_25[@]" \
|
||||
# "slider_100[@]" \
|
||||
#; do
|
||||
#
|
||||
#for action in \
|
||||
# "empty[@]" \
|
||||
#; do
|
||||
# #"actions_yes_no[@]" \
|
||||
# #"actions_5[@]" \
|
||||
#
|
||||
#notify-send "$summary" "$body" \
|
||||
# "${!app}" \
|
||||
# "${!image}" \
|
||||
# "${!progress}" \
|
||||
# "${!action}" \
|
||||
# "${!urgency}" \
|
||||
# ;
|
||||
#
|
||||
#done
|
||||
#done
|
||||
#done
|
||||
#done
|
||||
#done
|
||||
#done
|
||||
#done
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
config,
|
||||
nixosConfig,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
@ -35,6 +35,17 @@
|
|||
package = pkgs.whitesur-icon-theme;
|
||||
};
|
||||
|
||||
font = {
|
||||
package = pkgs.segoe-ui-ttf;
|
||||
name = "Segoe UI";
|
||||
size = 10;
|
||||
};
|
||||
|
||||
theme = {
|
||||
package = pkgs.adw-gtk3;
|
||||
name = "adw-gtk3";
|
||||
};
|
||||
|
||||
gtk2.extraConfig = "gtk-application-prefer-dark-theme = true";
|
||||
gtk3.extraConfig = gtk34extraConfig;
|
||||
gtk4.extraConfig = gtk34extraConfig;
|
||||
|
@ -44,21 +55,36 @@
|
|||
|
||||
qt = {
|
||||
enable = true;
|
||||
style.name = "kvantum";
|
||||
platformTheme.name = "qtct";
|
||||
platformTheme.name = "gtk3";
|
||||
};
|
||||
|
||||
xdg.configFile."Kvantum/kvantum.kvconfig".text = "theme=Base16Kvantum";
|
||||
xdg.configFile."Kvantum/Base16Kvantum".source = ./Base16Kvantum;
|
||||
home.pointerCursor = {
|
||||
name = "Bibata-Modern-Ice";
|
||||
size = 20;
|
||||
package = pkgs.bibata-cursors;
|
||||
x11.enable = true;
|
||||
gtk.enable = true;
|
||||
};
|
||||
|
||||
stylix = {
|
||||
inherit (nixosConfig.stylix) polarity base16Scheme;
|
||||
targets.gtk.enable = true;
|
||||
|
||||
cursor = {
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Ice";
|
||||
size = 20;
|
||||
lib.colors = rec {
|
||||
withHashtag = lib.mapAttrs (_: v: "#${v}") hex;
|
||||
hex = {
|
||||
base00 = "101419";
|
||||
base01 = "171b20";
|
||||
base02 = "21262e";
|
||||
base03 = "242931";
|
||||
base04 = "485263";
|
||||
base05 = "b6beca";
|
||||
base06 = "dee1e6";
|
||||
base07 = "e3e6eb";
|
||||
base08 = "e05f65";
|
||||
base09 = "f9a872";
|
||||
base0A = "f1cf8a";
|
||||
base0B = "78dba9";
|
||||
base0C = "74bee9";
|
||||
base0D = "70a5eb";
|
||||
base0E = "c68aee";
|
||||
base0F = "9378de";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -90,35 +90,6 @@
|
|||
escape = true;
|
||||
};
|
||||
|
||||
#"custom/whisper_overlay" = {
|
||||
# tooltip = true;
|
||||
# format = "{icon}";
|
||||
# format-icons = {
|
||||
# disconnected = "<span foreground='gray'></span>";
|
||||
# connected = "<span foreground='#4ab0fa'></span>";
|
||||
# connected-active = "<span foreground='red'></span>";
|
||||
# };
|
||||
# return-type = "json";
|
||||
# exec = "${lib.getExe pkgs.whisper-overlay} waybar-status";
|
||||
# on-click-right = lib.getExe (pkgs.writeShellApplication {
|
||||
# name = "toggle-realtime-stt-server";
|
||||
# runtimeInputs = [
|
||||
# pkgs.systemd
|
||||
# pkgs.libnotify
|
||||
# ];
|
||||
# text = ''
|
||||
# if systemctl --user is-active --quiet realtime-stt-server; then
|
||||
# systemctl --user stop realtime-stt-server.service
|
||||
# notify-send "Stopped realtime-stt-server" "⛔ Stopped" --transient || true
|
||||
# else
|
||||
# systemctl --user start realtime-stt-server.service
|
||||
# notify-send "Started realtime-stt-server" "✅ Started" --transient || true
|
||||
# fi
|
||||
# '';
|
||||
# });
|
||||
# escape = true;
|
||||
#};
|
||||
|
||||
battery = {
|
||||
interval = 2;
|
||||
format = "{icon} {capacity}%";
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
home.persistence."/state".directories = [
|
||||
".local/state/realtime-stt-server"
|
||||
];
|
||||
|
||||
#services.realtime-stt-server.enable = true;
|
||||
}
|
|
@ -1,666 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
systemd.user.services.wired.Unit.ConditionEnvironment = "DISPLAY";
|
||||
services.wired = {
|
||||
enable = true;
|
||||
config =
|
||||
let
|
||||
inherit (builtins) floor;
|
||||
|
||||
format = pkgs.formats.ron { };
|
||||
inherit (format.lib) mkLiteral struct;
|
||||
|
||||
colors = lib.mapAttrs (_: Color) config.lib.stylix.colors.withHashtag;
|
||||
inherit (config.stylix) fonts;
|
||||
|
||||
# A global scaling factor to apply to all notifications.
|
||||
globalScale = 1.2;
|
||||
|
||||
# Ron format shorthands and helpers
|
||||
unnamedStruct = struct "";
|
||||
Color = hex: struct "Color" { inherit hex; };
|
||||
Hook = struct "Hook";
|
||||
Vec2 = x: y: struct "Vec2" { inherit x y; };
|
||||
ShortcutsConfig = struct "ShortcutsConfig";
|
||||
And = struct "And";
|
||||
Or = struct "Or";
|
||||
Not = struct "Not";
|
||||
|
||||
mkVec2 = x: y: Vec2 (globalScale * x) (globalScale * y);
|
||||
|
||||
mkHook =
|
||||
parent_anchor: self_anchor:
|
||||
Hook {
|
||||
parent_anchor = mkLiteral parent_anchor;
|
||||
self_anchor = mkLiteral self_anchor;
|
||||
};
|
||||
|
||||
mkPaddingLrBt =
|
||||
left: right: bottom: top:
|
||||
struct "Padding" {
|
||||
left = globalScale * left;
|
||||
right = globalScale * right;
|
||||
bottom = globalScale * bottom;
|
||||
top = globalScale * top;
|
||||
};
|
||||
|
||||
mkDimensionsWH =
|
||||
minw: maxw: minh: maxh:
|
||||
unnamedStruct {
|
||||
width = unnamedStruct {
|
||||
min = floor (globalScale * minw);
|
||||
max = floor (globalScale * maxw);
|
||||
};
|
||||
height = unnamedStruct {
|
||||
min = floor (globalScale * minh);
|
||||
max = floor (globalScale * maxh);
|
||||
};
|
||||
};
|
||||
|
||||
mkTopBar =
|
||||
name: extra:
|
||||
map (x: extra // x) [
|
||||
{
|
||||
name = "${name}_app_image";
|
||||
parent = "${name}_root";
|
||||
hook = mkHook "TL" "TL";
|
||||
offset = mkVec2 0 0;
|
||||
params = struct "ImageBlock" (unnamedStruct {
|
||||
filter_mode = mkLiteral "Lanczos3";
|
||||
image_type = mkLiteral "App";
|
||||
min_height = floor (globalScale * 24);
|
||||
min_width = floor (globalScale * 24);
|
||||
padding = mkPaddingLrBt 16 (-8) 6 12;
|
||||
rounding = globalScale * 12.0;
|
||||
scale_height = floor (globalScale * 24);
|
||||
scale_width = floor (globalScale * 24);
|
||||
});
|
||||
}
|
||||
{
|
||||
name = "${name}_app_name";
|
||||
parent = "${name}_app_image";
|
||||
hook = mkHook "TR" "TL";
|
||||
offset = mkVec2 0 0;
|
||||
params = struct "TextBlock" (unnamedStruct {
|
||||
color = colors.base05;
|
||||
dimensions = mkDimensionsWH 350 350 28 28;
|
||||
ellipsize = mkLiteral "End";
|
||||
font = "${fonts.monospace.name} ${toString (globalScale * 14)}";
|
||||
padding = mkPaddingLrBt 16 0 0 12;
|
||||
text = "%n";
|
||||
});
|
||||
}
|
||||
];
|
||||
|
||||
mkBody =
|
||||
name: ident: yOffset: summaryRightPadding: extra:
|
||||
let
|
||||
maxWFull = 580 - 12;
|
||||
maxWImg = maxWFull - 128 - 12;
|
||||
in
|
||||
map (x: extra // x) (
|
||||
[
|
||||
{
|
||||
name = "${name}_${ident}_hint";
|
||||
parent = "${name}_root";
|
||||
hook = mkHook "TL" "TL";
|
||||
offset = mkVec2 0 yOffset;
|
||||
params = struct "ImageBlock" (unnamedStruct {
|
||||
filter_mode = mkLiteral "Lanczos3";
|
||||
image_type = mkLiteral "Hint";
|
||||
padding = mkPaddingLrBt 12 0 12 12;
|
||||
rounding = globalScale * 9;
|
||||
scale_height = floor (globalScale * 128);
|
||||
scale_width = floor (globalScale * 128);
|
||||
});
|
||||
}
|
||||
{
|
||||
name = "${name}_${ident}_summary";
|
||||
parent = "${name}_${ident}_hint";
|
||||
hook = mkHook "TR" "TL";
|
||||
offset = mkVec2 0 0;
|
||||
params = struct "TextBlock" (unnamedStruct {
|
||||
text = "%s";
|
||||
font = "${fonts.sansSerif.name} Bold ${toString (globalScale * 16)}";
|
||||
ellipsize = mkLiteral "End";
|
||||
color = colors.base06;
|
||||
padding = mkPaddingLrBt 16 16 12 8;
|
||||
dimensions = mkDimensionsWH (maxWFull - summaryRightPadding) (maxWFull - summaryRightPadding) 0 30;
|
||||
dimensions_image_hint = mkDimensionsWH (maxWImg - summaryRightPadding) (
|
||||
maxWImg - summaryRightPadding
|
||||
) 0 30;
|
||||
dimensions_image_both = mkDimensionsWH (maxWImg - summaryRightPadding) (
|
||||
maxWImg - summaryRightPadding
|
||||
) 0 30;
|
||||
});
|
||||
}
|
||||
{
|
||||
name = "${name}_${ident}_body";
|
||||
parent = "${name}_${ident}_summary";
|
||||
hook = mkHook "BL" "TL";
|
||||
offset = mkVec2 0 0;
|
||||
render_criteria = [
|
||||
(And [
|
||||
(Or extra.render_criteria)
|
||||
(mkLiteral "Body")
|
||||
])
|
||||
];
|
||||
params = struct "TextBlock" (unnamedStruct {
|
||||
text = "%b";
|
||||
font = "${fonts.sansSerif.name} ${toString (globalScale * 16)}";
|
||||
ellipsize = mkLiteral "End";
|
||||
color = colors.base06;
|
||||
padding = mkPaddingLrBt 16 16 12 (-4);
|
||||
dimensions = mkDimensionsWH maxWFull maxWFull 0 88;
|
||||
dimensions_image_hint = mkDimensionsWH maxWImg maxWImg 0 88;
|
||||
dimensions_image_both = mkDimensionsWH maxWImg maxWImg 0 88;
|
||||
});
|
||||
}
|
||||
]
|
||||
# We unfortunately cannot move these out of mkBody, because the depend
|
||||
# on the specific name for the parent, which cannot be changed dynamically.
|
||||
# So each call to mkBody creates these progress bars which only differ in
|
||||
# their parent :/
|
||||
++ (mkProgress name "${ident}_hint" (-4) {
|
||||
render_criteria = [
|
||||
(And (
|
||||
extra.render_criteria
|
||||
++ [
|
||||
(mkLiteral "Progress")
|
||||
(mkLiteral "HintImage")
|
||||
]
|
||||
))
|
||||
];
|
||||
})
|
||||
++ (mkProgress name "${ident}_body" 0 {
|
||||
render_criteria = [
|
||||
(And (
|
||||
extra.render_criteria
|
||||
++ [
|
||||
(mkLiteral "Progress")
|
||||
(mkLiteral "Body")
|
||||
(Not (mkLiteral "HintImage"))
|
||||
]
|
||||
))
|
||||
];
|
||||
})
|
||||
++ (mkProgress name "${ident}_summary" 0 {
|
||||
render_criteria = [
|
||||
(And (
|
||||
extra.render_criteria
|
||||
++ [
|
||||
(mkLiteral "Progress")
|
||||
(mkLiteral "Summary")
|
||||
(Not (Or [
|
||||
(mkLiteral "Body")
|
||||
(mkLiteral "HintImage")
|
||||
]))
|
||||
]
|
||||
))
|
||||
];
|
||||
})
|
||||
# Each mkProgress includes a button bar. But if no progress is included in a notification,
|
||||
# those won't be rendered, so we have to define bars for non-progress notifications.
|
||||
# (And yes, we need 3 because we cannot have duplicate names or dynamic parents)
|
||||
++ (mkButtonBar name "${ident}_hint" {
|
||||
render_criteria = [
|
||||
(And (
|
||||
extra.render_criteria
|
||||
++ [
|
||||
(Not (mkLiteral "Progress"))
|
||||
(mkLiteral "HintImage")
|
||||
]
|
||||
))
|
||||
];
|
||||
})
|
||||
++ (mkButtonBar name "${ident}_body" {
|
||||
render_criteria = [
|
||||
(And (
|
||||
extra.render_criteria
|
||||
++ [
|
||||
(Not (mkLiteral "Progress"))
|
||||
(mkLiteral "Body")
|
||||
(Not (mkLiteral "HintImage"))
|
||||
]
|
||||
))
|
||||
];
|
||||
})
|
||||
++ (mkButtonBar name "${ident}_summary" {
|
||||
render_criteria = [
|
||||
(And (
|
||||
extra.render_criteria
|
||||
++ [
|
||||
(Not (mkLiteral "Progress"))
|
||||
(mkLiteral "Summary")
|
||||
(Not (Or [
|
||||
(mkLiteral "Body")
|
||||
(mkLiteral "HintImage")
|
||||
]))
|
||||
]
|
||||
))
|
||||
];
|
||||
})
|
||||
);
|
||||
|
||||
mkProgress =
|
||||
name: parent: yOffset: extra:
|
||||
map (x: extra // x) (
|
||||
[
|
||||
{
|
||||
name = "${name}_progress_${parent}_text";
|
||||
parent = "${name}_${parent}";
|
||||
hook = mkHook "BL" "TL";
|
||||
offset = mkVec2 0 0;
|
||||
params = struct "TextBlock" (unnamedStruct {
|
||||
text = "%p%";
|
||||
font = "${fonts.monospace.name} Bold ${toString (globalScale * 14)}";
|
||||
align = mkLiteral "Right";
|
||||
ellipsize = mkLiteral "End";
|
||||
color = colors.base06;
|
||||
padding = mkPaddingLrBt 12 16 12 yOffset;
|
||||
dimensions = mkDimensionsWH 48 48 24 24;
|
||||
});
|
||||
}
|
||||
{
|
||||
name = "${name}_progress_${parent}_bar";
|
||||
parent = "${name}_${parent}";
|
||||
hook = mkHook "BL" "TL";
|
||||
offset = mkVec2 0 0;
|
||||
params = struct "ProgressBlock" (unnamedStruct {
|
||||
width = globalScale * 524;
|
||||
height = globalScale * 12;
|
||||
border_width = 0.0;
|
||||
border_rounding = globalScale * 4;
|
||||
border_color = colors.base03;
|
||||
background_color = colors.base03;
|
||||
fill_color = colors.base0D;
|
||||
fill_rounding = globalScale * 4;
|
||||
padding = mkPaddingLrBt 68 16 12 (yOffset + 8);
|
||||
});
|
||||
}
|
||||
]
|
||||
++ (mkButtonBar name "progress_${parent}_text" extra)
|
||||
);
|
||||
|
||||
mkButtonBar =
|
||||
name: parent: extra:
|
||||
map (x: extra // x) (
|
||||
lib.flatten [
|
||||
{
|
||||
name = "${name}_button_bar_for_${parent}";
|
||||
parent = "${name}_${parent}";
|
||||
hook = mkHook "BL" "TL";
|
||||
offset = mkVec2 0 0;
|
||||
render_criteria = [
|
||||
(And (
|
||||
extra.render_criteria
|
||||
++ [
|
||||
(Or [
|
||||
(struct "ActionOther" 0)
|
||||
(struct "ActionOther" 1)
|
||||
(struct "ActionOther" 2)
|
||||
(struct "ActionOther" 3)
|
||||
(struct "ActionOther" 4)
|
||||
(struct "ActionOther" 5)
|
||||
])
|
||||
]
|
||||
))
|
||||
];
|
||||
params = struct "TextBlock" (unnamedStruct {
|
||||
text = "";
|
||||
font = "${fonts.monospace.name} 1";
|
||||
color = colors.base06;
|
||||
padding = mkPaddingLrBt 0 0 0 0;
|
||||
dimensions = mkDimensionsWH 568 568 44 44;
|
||||
});
|
||||
}
|
||||
(lib.flip map
|
||||
[
|
||||
0
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
]
|
||||
(
|
||||
i:
|
||||
lib.optionalAttrs (i == 0) {
|
||||
parent = "${name}_button_bar_for_${parent}";
|
||||
hook = mkHook "TL" "TL";
|
||||
offset = mkVec2 16 0;
|
||||
}
|
||||
// lib.optionalAttrs (i != 0) {
|
||||
parent = "${name}_action_${toString (i - 1)}_for_${parent}";
|
||||
hook = mkHook "TR" "TL";
|
||||
offset = mkVec2 8 0;
|
||||
}
|
||||
// {
|
||||
name = "${name}_action_${toString i}_for_${parent}";
|
||||
render_criteria = [
|
||||
(And (
|
||||
extra.render_criteria
|
||||
++ [
|
||||
(struct "ActionOther" i)
|
||||
]
|
||||
))
|
||||
];
|
||||
params = struct "ButtonBlock" (unnamedStruct {
|
||||
text = "%a";
|
||||
font = "${fonts.monospace.name} Bold ${toString (globalScale * 14)}";
|
||||
ellipsize = mkLiteral "End";
|
||||
action = struct "OtherAction" i;
|
||||
text_color = colors.base06;
|
||||
text_color_hovered = colors.base06;
|
||||
background_color = colors.base01;
|
||||
background_color_hovered = colors.base02;
|
||||
border_color = colors.base04;
|
||||
border_color_hovered = colors.base0F;
|
||||
border_rounding = globalScale * 0;
|
||||
border_width = globalScale * 2;
|
||||
padding = mkPaddingLrBt 8 8 4 4;
|
||||
# Technically distribute like below, but we'll just allow more even
|
||||
# if it breaks when having > 4 max length buttons, because it probably
|
||||
# never happens and looks a lot better this way.
|
||||
dimensions = mkDimensionsWH 32 144 24 24;
|
||||
# dimensions = mkDimensionsWH 32 ((
|
||||
# 568 /* available width */
|
||||
# - 2 * 16 /* padding lr */
|
||||
# - (/* count actions */ 6 - 1) * 8 /* padding between */
|
||||
# ) / /* count actions */ 6) 24 24;
|
||||
});
|
||||
}
|
||||
)
|
||||
)
|
||||
]
|
||||
);
|
||||
|
||||
mkIndicatorValue =
|
||||
name: ident: parent: extra: textParamsExtra: progressParamsExtra:
|
||||
map (x: extra // x) (
|
||||
lib.flatten [
|
||||
{
|
||||
name = "${name}_${ident}_value_text";
|
||||
parent = "${name}_${parent}";
|
||||
hook = mkHook "BM" "TM";
|
||||
offset = mkVec2 0 0;
|
||||
params = struct "TextBlock" (
|
||||
unnamedStruct (
|
||||
{
|
||||
text = "%p%";
|
||||
font = "${fonts.monospace.name} Bold ${toString (globalScale * 18)}";
|
||||
align = mkLiteral "Center";
|
||||
color = colors.base06;
|
||||
padding = mkPaddingLrBt 0 0 12 0;
|
||||
dimensions = mkDimensionsWH 64 64 32 32;
|
||||
}
|
||||
// textParamsExtra
|
||||
)
|
||||
);
|
||||
}
|
||||
{
|
||||
name = "${name}_${ident}_value_bar";
|
||||
parent = "${name}_${ident}_value_text";
|
||||
hook = mkHook "BM" "TM";
|
||||
offset = mkVec2 0 0;
|
||||
params = struct "ProgressBlock" (
|
||||
unnamedStruct (
|
||||
{
|
||||
width = globalScale * 0.9 * 384;
|
||||
height = globalScale * 16;
|
||||
border_width = 0.0;
|
||||
border_rounding = globalScale * 6;
|
||||
border_color = colors.base03;
|
||||
background_color = colors.base03;
|
||||
fill_color = colors.base0F;
|
||||
fill_rounding = globalScale * 6;
|
||||
padding = mkPaddingLrBt 0 0 0 0;
|
||||
}
|
||||
// progressParamsExtra
|
||||
)
|
||||
);
|
||||
}
|
||||
]
|
||||
);
|
||||
in
|
||||
format.generate "wired.ron" (unnamedStruct {
|
||||
max_notifications = 10;
|
||||
timeout = 10000;
|
||||
poll_interval = 6; # 6ms ~= 166hz.
|
||||
history_length = 60;
|
||||
replacing_enabled = true;
|
||||
replacing_resets_timeout = true;
|
||||
min_window_width = floor (globalScale * 20);
|
||||
min_window_height = floor (globalScale * 20);
|
||||
debug = false;
|
||||
|
||||
# https://github.com/Toqozz/wired-notify/wiki/Shortcuts
|
||||
shortcuts = ShortcutsConfig {
|
||||
notification_interact = 1; # left click
|
||||
notification_pause = 1;
|
||||
notification_close = 2; # right click
|
||||
notification_action1 = 3; # middle click
|
||||
};
|
||||
|
||||
layout_blocks =
|
||||
let
|
||||
criterionHasTopBar = And [
|
||||
(mkLiteral "AppImage")
|
||||
(Not (Or [
|
||||
(struct "AppName" "")
|
||||
(struct "AppName" "notify-send")
|
||||
]))
|
||||
];
|
||||
in
|
||||
map unnamedStruct (
|
||||
lib.flatten [
|
||||
# Root block for normal notifications
|
||||
{
|
||||
name = "general_root";
|
||||
parent = "";
|
||||
hook = mkHook "TR" "TR";
|
||||
offset = Vec2 (-50) 50; # Vec2 instead of mkVec2 to not apply scaling.
|
||||
render_criteria = [
|
||||
(Not (Or [
|
||||
(struct "Tag" "indicator")
|
||||
]))
|
||||
];
|
||||
params = struct "NotificationBlock" (unnamedStruct {
|
||||
monitor = 1;
|
||||
border_width = globalScale * 2;
|
||||
border_rounding = globalScale * 0;
|
||||
background_color = colors.base00;
|
||||
border_color = colors.base04;
|
||||
border_color_low = colors.base04;
|
||||
border_color_critical = colors.base08;
|
||||
border_color_paused = colors.base09;
|
||||
gap = mkVec2 0 8;
|
||||
notification_hook = mkHook "BR" "TR";
|
||||
});
|
||||
}
|
||||
# Dummy text that enforces minimum window size
|
||||
{
|
||||
name = "general_size";
|
||||
parent = "general_root";
|
||||
hook = mkHook "TL" "TL";
|
||||
offset = Vec2 0 0;
|
||||
params = struct "TextBlock" (unnamedStruct {
|
||||
text = "";
|
||||
font = "${fonts.monospace.name} 1";
|
||||
color = colors.base06;
|
||||
padding = mkPaddingLrBt 0 0 0 0;
|
||||
dimensions = mkDimensionsWH 600 600 1 1;
|
||||
});
|
||||
}
|
||||
# Time is always shown in the top right corner.
|
||||
{
|
||||
name = "general_time";
|
||||
parent = "general_root";
|
||||
hook = mkHook "TL" "TL";
|
||||
offset = mkVec2 (600 - 100) 0;
|
||||
params = struct "TextBlock" (unnamedStruct {
|
||||
color = colors.base05;
|
||||
dimensions = mkDimensionsWH 100 100 28 28;
|
||||
ellipsize = mkLiteral "End";
|
||||
font = "${fonts.monospace.name} Bold ${toString (globalScale * 14)}";
|
||||
padding = mkPaddingLrBt 0 16 4 12;
|
||||
text = "%t(%a %H:%M)";
|
||||
});
|
||||
}
|
||||
# Top bar for app image, name and time, but only
|
||||
# if there is an app name or image.
|
||||
(mkTopBar "general" {
|
||||
render_criteria = [ criterionHasTopBar ];
|
||||
})
|
||||
# if no top bar present: A body with no offset and a summary padding to the right (to not overlay the time)
|
||||
(mkBody "general" "notop" 0 (16 + 100) {
|
||||
render_criteria = [ (Not criterionHasTopBar) ];
|
||||
})
|
||||
# if top bar present: A body with matching y offset and no summary padding to the right
|
||||
(mkBody "general" "withtop" 36 0 {
|
||||
render_criteria = [ criterionHasTopBar ];
|
||||
})
|
||||
|
||||
# Root block for brightness/volume indicators
|
||||
{
|
||||
name = "indicator_root";
|
||||
parent = "";
|
||||
hook = mkHook "MM" "MM";
|
||||
offset = Vec2 0 0; # Vec2 instead of mkVec2 to not apply scaling.
|
||||
render_criteria = [
|
||||
(And [
|
||||
(struct "Tag" "indicator")
|
||||
])
|
||||
];
|
||||
params = struct "NotificationBlock" (unnamedStruct {
|
||||
monitor = 1;
|
||||
border_width = globalScale * 2;
|
||||
border_rounding = globalScale * 0;
|
||||
background_color = colors.base00;
|
||||
border_color = colors.base04;
|
||||
border_color_low = colors.base04;
|
||||
border_color_critical = colors.base08;
|
||||
border_color_paused = colors.base09;
|
||||
gap = mkVec2 0 0;
|
||||
notification_hook = mkHook "MM" "MM";
|
||||
});
|
||||
}
|
||||
# Dummy text that enforces minimum window size
|
||||
{
|
||||
name = "indicator_size";
|
||||
parent = "indicator_root";
|
||||
hook = mkHook "TL" "TL";
|
||||
offset = Vec2 0 0;
|
||||
params = struct "TextBlock" (unnamedStruct {
|
||||
text = "";
|
||||
font = "${fonts.monospace.name} 1";
|
||||
color = colors.base06;
|
||||
padding = mkPaddingLrBt 0 0 0 0;
|
||||
dimensions = mkDimensionsWH 384 384 384 384;
|
||||
});
|
||||
}
|
||||
{
|
||||
name = "indicator_summary";
|
||||
parent = "indicator_size";
|
||||
hook = mkHook "TM" "TM";
|
||||
offset = mkVec2 0 0;
|
||||
params = struct "TextBlock" (unnamedStruct {
|
||||
text = "%s";
|
||||
font = "${fonts.sansSerif.name} Bold ${toString (globalScale * 18)}";
|
||||
align = mkLiteral "Center";
|
||||
color = colors.base06;
|
||||
padding = mkPaddingLrBt 0 0 8 8;
|
||||
dimensions = mkDimensionsWH 300 300 32 32;
|
||||
});
|
||||
}
|
||||
{
|
||||
name = "indicator_hint";
|
||||
parent = "indicator_summary";
|
||||
hook = mkHook "BM" "TM";
|
||||
offset = mkVec2 0 0;
|
||||
params = struct "ImageBlock" (unnamedStruct {
|
||||
filter_mode = mkLiteral "Lanczos3";
|
||||
image_type = mkLiteral "Hint";
|
||||
min_height = floor (globalScale * 180);
|
||||
min_width = floor (globalScale * 180);
|
||||
padding = mkPaddingLrBt 0 0 (35 + 8) 35;
|
||||
rounding = globalScale * 9;
|
||||
scale_height = floor (globalScale * 180);
|
||||
scale_width = floor (globalScale * 180);
|
||||
});
|
||||
}
|
||||
(mkIndicatorValue "indicator" "anything" "hint"
|
||||
{
|
||||
render_criteria = [
|
||||
(Not (Or [
|
||||
(struct "Note" "brightness")
|
||||
(struct "Note" "volume")
|
||||
(struct "Note" "volume-overdrive")
|
||||
]))
|
||||
];
|
||||
}
|
||||
# text extra
|
||||
{ }
|
||||
# progress extra
|
||||
{ }
|
||||
)
|
||||
(mkIndicatorValue "indicator" "brightness" "hint"
|
||||
{
|
||||
render_criteria = [
|
||||
(And [
|
||||
(struct "Note" "brightness")
|
||||
])
|
||||
];
|
||||
}
|
||||
# text extra
|
||||
{ }
|
||||
# progress extra
|
||||
{
|
||||
fill_color = colors.base0A;
|
||||
}
|
||||
)
|
||||
(mkIndicatorValue "indicator" "volume" "hint"
|
||||
{
|
||||
render_criteria = [
|
||||
(And [
|
||||
(struct "Note" "volume")
|
||||
])
|
||||
];
|
||||
}
|
||||
# text extra
|
||||
{
|
||||
text = "%b";
|
||||
}
|
||||
# progress extra
|
||||
{
|
||||
fill_color = colors.base0B;
|
||||
}
|
||||
)
|
||||
(mkIndicatorValue "indicator" "volume_overdrive" "hint"
|
||||
{
|
||||
render_criteria = [
|
||||
(And [
|
||||
(struct "Note" "volume-overdrive")
|
||||
])
|
||||
];
|
||||
}
|
||||
# text extra
|
||||
{
|
||||
text = "%b";
|
||||
}
|
||||
# progress extra
|
||||
{
|
||||
background_color = colors.base0B;
|
||||
fill_color = colors.base0A;
|
||||
}
|
||||
)
|
||||
]
|
||||
);
|
||||
});
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue