mirror of
https://github.com/oddlama/nix-config.git
synced 2025-10-10 23:00:39 +02:00
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,
|
config,
|
||||||
inputs,
|
|
||||||
lib,
|
lib,
|
||||||
minimal,
|
minimal,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
@ -23,9 +22,6 @@ in
|
||||||
}
|
}
|
||||||
// optionalAttrs (!minimal) {
|
// optionalAttrs (!minimal) {
|
||||||
imports = [
|
imports = [
|
||||||
inputs.stylix.nixosModules.stylix
|
|
||||||
inputs.whisper-overlay.nixosModules.default
|
|
||||||
|
|
||||||
./fonts.nix
|
./fonts.nix
|
||||||
./steam.nix
|
./steam.nix
|
||||||
./xserver.nix
|
./xserver.nix
|
||||||
|
@ -64,74 +60,5 @@ in
|
||||||
binPath = lib.getExe pkgs.hyprland;
|
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-cjk-serif
|
||||||
pkgs.noto-fonts-emoji
|
pkgs.noto-fonts-emoji
|
||||||
pkgs.noto-fonts-extra
|
pkgs.noto-fonts-extra
|
||||||
|
|
||||||
|
pkgs.dejavu_fonts
|
||||||
|
pkgs.segoe-ui-ttf
|
||||||
|
pkgs.jetbrains-mono
|
||||||
];
|
];
|
||||||
};
|
|
||||||
|
|
||||||
stylix.fonts = {
|
fontconfig.defaultFonts = {
|
||||||
serif = {
|
serif = [ "IBM Plex Serif" ];
|
||||||
package = pkgs.dejavu_fonts;
|
sansSerif = [ "Segoe UI" ];
|
||||||
name = "IBM Plex Serif";
|
emoji = [ "Segoe UI Emoji" ];
|
||||||
};
|
monospace = [
|
||||||
|
# No need for patched nerd fonts, kitty can pick up on them automatically,
|
||||||
sansSerif = {
|
# and ideally every program should do that: https://sw.kovidgoyal.net/kitty/faq/#kitty-is-not-able-to-use-my-favorite-font
|
||||||
package = pkgs.segoe-ui-ttf;
|
"JetBrains Mono"
|
||||||
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";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,8 +13,6 @@
|
||||||
inputs.nixos-extra-modules.homeManagerModules.default
|
inputs.nixos-extra-modules.homeManagerModules.default
|
||||||
inputs.nix-index-database.hmModules.nix-index
|
inputs.nix-index-database.hmModules.nix-index
|
||||||
inputs.nixvim.homeManagerModules.nixvim
|
inputs.nixvim.homeManagerModules.nixvim
|
||||||
inputs.wired-notify.homeManagerModules.default
|
|
||||||
inputs.whisper-overlay.homeManagerModules.default
|
|
||||||
{
|
{
|
||||||
home.stateVersion = config.system.stateVersion;
|
home.stateVersion = config.system.stateVersion;
|
||||||
}
|
}
|
||||||
|
|
660
flake.lock
generated
660
flake.lock
generated
|
@ -49,73 +49,6 @@
|
||||||
"type": "github"
|
"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": {
|
"crane": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -333,28 +266,6 @@
|
||||||
"type": "github"
|
"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": {
|
"disko": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -448,22 +359,6 @@
|
||||||
"type": "github"
|
"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-compat": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -480,37 +375,6 @@
|
||||||
"type": "github"
|
"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-compat_2": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -756,63 +620,6 @@
|
||||||
"type": "github"
|
"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": {
|
"flake-utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_2"
|
"systems": "systems_2"
|
||||||
|
@ -885,66 +692,6 @@
|
||||||
"type": "github"
|
"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": {
|
"gitignore": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -1098,67 +845,6 @@
|
||||||
"type": "github"
|
"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": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -1587,30 +1273,6 @@
|
||||||
"url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz"
|
"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": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730741070,
|
"lastModified": 1730741070,
|
||||||
|
@ -1627,38 +1289,6 @@
|
||||||
"type": "github"
|
"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": {
|
"nixvim": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts_6",
|
"flake-parts": "flake-parts_6",
|
||||||
|
@ -1682,32 +1312,6 @@
|
||||||
"type": "github"
|
"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": {
|
"nuschtosSearch": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils_4",
|
"flake-utils": "flake-utils_4",
|
||||||
|
@ -1943,30 +1547,6 @@
|
||||||
"type": "github"
|
"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": {
|
"purescript-overlay": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_2",
|
"flake-compat": "flake-compat_2",
|
||||||
|
@ -2073,10 +1653,7 @@
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"nixvim": "nixvim",
|
"nixvim": "nixvim",
|
||||||
"pre-commit-hooks": "pre-commit-hooks_6",
|
"pre-commit-hooks": "pre-commit-hooks_6",
|
||||||
"stylix": "stylix",
|
"treefmt-nix": "treefmt-nix_4"
|
||||||
"treefmt-nix": "treefmt-nix_5",
|
|
||||||
"whisper-overlay": "whisper-overlay",
|
|
||||||
"wired-notify": "wired-notify"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rust-overlay": {
|
"rust-overlay": {
|
||||||
|
@ -2144,24 +1721,6 @@
|
||||||
"type": "github"
|
"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": {
|
"slimlock": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -2226,45 +1785,6 @@
|
||||||
"url": "https://spectrum-os.org/git/spectrum"
|
"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": {
|
"systems": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681028828,
|
"lastModified": 1681028828,
|
||||||
|
@ -2355,117 +1875,6 @@
|
||||||
"type": "github"
|
"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": {
|
"treefmt": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -2552,28 +1961,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"treefmt-nix_4": {
|
"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": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
|
@ -2614,51 +2001,6 @@
|
||||||
"repo": "treefmt-nix",
|
"repo": "treefmt-nix",
|
||||||
"type": "github"
|
"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",
|
"root": "root",
|
||||||
|
|
16
flake.nix
16
flake.nix
|
@ -95,26 +95,10 @@
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
stylix = {
|
|
||||||
url = "github:danth/stylix";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
inputs.home-manager.follows = "home-manager";
|
|
||||||
};
|
|
||||||
|
|
||||||
treefmt-nix = {
|
treefmt-nix = {
|
||||||
url = "github:numtide/treefmt-nix";
|
url = "github:numtide/treefmt-nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
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 =
|
outputs =
|
||||||
|
|
|
@ -57,13 +57,6 @@
|
||||||
|
|
||||||
graphical.gaming.enable = true;
|
graphical.gaming.enable = true;
|
||||||
|
|
||||||
stylix.fonts.sizes = {
|
|
||||||
#desktop = 20;
|
|
||||||
applications = 10;
|
|
||||||
terminal = 20;
|
|
||||||
popups = 20;
|
|
||||||
};
|
|
||||||
|
|
||||||
nix.settings.trusted-substituters = [
|
nix.settings.trusted-substituters = [
|
||||||
"https://ai.cachix.org"
|
"https://ai.cachix.org"
|
||||||
];
|
];
|
||||||
|
|
|
@ -40,7 +40,6 @@
|
||||||
inputs.nix-topology.overlays.default
|
inputs.nix-topology.overlays.default
|
||||||
inputs.nixos-extra-modules.overlays.default
|
inputs.nixos-extra-modules.overlays.default
|
||||||
inputs.nixvim.overlays.default
|
inputs.nixvim.overlays.default
|
||||||
inputs.wired-notify.overlays.default
|
|
||||||
];
|
];
|
||||||
|
|
||||||
node.name = name;
|
node.name = name;
|
||||||
|
|
|
@ -19,9 +19,5 @@ _inputs: [
|
||||||
# ];
|
# ];
|
||||||
|
|
||||||
ente-web = prev.callPackage ./ente-web.nix { };
|
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 \
|
--transient \
|
||||||
--hint=string:image-path:"$image" \
|
--hint=string:image-path:"$image" \
|
||||||
--hint=int:value:"$value" \
|
--hint=int:value:"$value" \
|
||||||
--hint="string:wired-tag:indicator" \
|
|
||||||
--hint="string:wired-note:brightness" \
|
|
||||||
--expire-time=1000 \
|
--expire-time=1000 \
|
||||||
|| true
|
|| true
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -19,7 +19,6 @@ writeShellApplication {
|
||||||
grimblast --freeze save screen "$out" || exit 2
|
grimblast --freeze save screen "$out" || exit 2
|
||||||
notify-send \
|
notify-send \
|
||||||
"📷 Screenshot captured" "💾 Saved to $out" \
|
"📷 Screenshot captured" "💾 Saved to $out" \
|
||||||
--hint="string:wired-tag:screenshot-$date" \
|
|
||||||
|| true
|
|| true
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,10 +27,8 @@ writeShellApplication {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$value" -gt 100 ]]; then
|
if [[ "$value" -gt 100 ]]; then
|
||||||
note=volume-overdrive
|
|
||||||
indicator_value=$((value - 100))
|
indicator_value=$((value - 100))
|
||||||
else
|
else
|
||||||
note=volume
|
|
||||||
indicator_value="$value"
|
indicator_value="$value"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -39,8 +37,6 @@ writeShellApplication {
|
||||||
--transient \
|
--transient \
|
||||||
--hint=string:image-path:"$image" \
|
--hint=string:image-path:"$image" \
|
||||||
--hint=int:value:"$indicator_value" \
|
--hint=int:value:"$indicator_value" \
|
||||||
--hint="string:wired-tag:indicator" \
|
|
||||||
--hint="string:wired-note:$note" \
|
|
||||||
--expire-time=1000 \
|
--expire-time=1000 \
|
||||||
|| true
|
|| 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
|
# X11
|
||||||
./i3.nix
|
./i3.nix
|
||||||
./flameshot.nix
|
./flameshot.nix
|
||||||
./wired-notify.nix
|
|
||||||
|
|
||||||
# Wayland
|
# Wayland
|
||||||
./gpu-screen-recorder.nix
|
./gpu-screen-recorder.nix
|
||||||
|
@ -27,7 +26,6 @@
|
||||||
./sway.nix
|
./sway.nix
|
||||||
./swaync.nix
|
./swaync.nix
|
||||||
./waybar.nix
|
./waybar.nix
|
||||||
./whisper-overlay.nix
|
|
||||||
]
|
]
|
||||||
++ lib.optionals nixosConfig.graphical.gaming.enable [
|
++ lib.optionals nixosConfig.graphical.gaming.enable [
|
||||||
./games
|
./games
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
colors = config.lib.stylix.colors.withHashtag;
|
colors = config.lib.colors.withHashtag;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
xdg.configFile."flameshot/flameshot.ini".source = (pkgs.formats.ini { }).generate "flameshot.ini" {
|
xdg.configFile."flameshot/flameshot.ini".source = (pkgs.formats.ini { }).generate "flameshot.ini" {
|
||||||
|
|
|
@ -1,12 +1,26 @@
|
||||||
|
{ config, ... }:
|
||||||
{
|
{
|
||||||
home.persistence."/state".files = [
|
home.persistence."/state".files = [
|
||||||
".cache/fuzzel"
|
".cache/fuzzel"
|
||||||
];
|
];
|
||||||
|
|
||||||
stylix.targets.fuzzel.enable = true;
|
|
||||||
programs.fuzzel = {
|
programs.fuzzel = {
|
||||||
enable = true;
|
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 = {
|
settings.main = {
|
||||||
|
font = "Segoe UI:size=20";
|
||||||
launch-prefix = "uwsm app --";
|
launch-prefix = "uwsm app --";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -238,7 +238,6 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.user.services = {
|
systemd.user.services = {
|
||||||
wired.Install.WantedBy = lib.mkForce [ "i3-session.target" ];
|
|
||||||
flameshot.Install.WantedBy = lib.mkForce [ "i3-session.target" ];
|
flameshot.Install.WantedBy = lib.mkForce [ "i3-session.target" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
{
|
{
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
@ -8,13 +6,18 @@
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
TERMINFO_DIRS = "${pkgs.kitty.terminfo.outPath}/share/terminfo";
|
TERMINFO_DIRS = "${pkgs.kitty.terminfo.outPath}/share/terminfo";
|
||||||
};
|
};
|
||||||
stylix.targets.kitty.enable = true;
|
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
font = {
|
||||||
|
package = pkgs.jetbrains-mono;
|
||||||
|
name = "JetBrains Mono";
|
||||||
|
size = 20;
|
||||||
|
};
|
||||||
settings = {
|
settings = {
|
||||||
bold_font = "${config.programs.kitty.font.name} Bold";
|
bold_font = "JetBrains Mono Bold";
|
||||||
italic_font = "${config.programs.kitty.font.name} Italic";
|
italic_font = "JetBrains Mono Italic";
|
||||||
bold_italic_font = "${config.programs.kitty.font.name} Bold 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)
|
# 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";
|
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+," = "change_font_size all +2.0";
|
||||||
"ctrl+shift+w" = "no_op";
|
"ctrl+shift+w" = "no_op";
|
||||||
};
|
};
|
||||||
# XXX: mkForce to prevent stylix from appending theme.
|
|
||||||
# Fix this by making a correct theme that can be used.
|
extraConfig = ''
|
||||||
# TODO aaaaaaaaaa
|
|
||||||
extraConfig = lib.mkForce ''
|
|
||||||
# Use nvim as scrollback pager
|
# 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"
|
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 =
|
style =
|
||||||
lib.concatLines (
|
lib.concatLines (
|
||||||
map (c: "@define-color ${c} ${config.lib.stylix.colors.withHashtag.${c}};") [
|
map (c: "@define-color ${c} ${config.lib.colors.withHashtag.${c}};") [
|
||||||
"base00"
|
"base00"
|
||||||
"base01"
|
"base01"
|
||||||
"base02"
|
"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,
|
config,
|
||||||
nixosConfig,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
@ -35,6 +35,17 @@
|
||||||
package = pkgs.whitesur-icon-theme;
|
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";
|
gtk2.extraConfig = "gtk-application-prefer-dark-theme = true";
|
||||||
gtk3.extraConfig = gtk34extraConfig;
|
gtk3.extraConfig = gtk34extraConfig;
|
||||||
gtk4.extraConfig = gtk34extraConfig;
|
gtk4.extraConfig = gtk34extraConfig;
|
||||||
|
@ -44,21 +55,36 @@
|
||||||
|
|
||||||
qt = {
|
qt = {
|
||||||
enable = true;
|
enable = true;
|
||||||
style.name = "kvantum";
|
platformTheme.name = "gtk3";
|
||||||
platformTheme.name = "qtct";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.configFile."Kvantum/kvantum.kvconfig".text = "theme=Base16Kvantum";
|
home.pointerCursor = {
|
||||||
xdg.configFile."Kvantum/Base16Kvantum".source = ./Base16Kvantum;
|
name = "Bibata-Modern-Ice";
|
||||||
|
size = 20;
|
||||||
|
package = pkgs.bibata-cursors;
|
||||||
|
x11.enable = true;
|
||||||
|
gtk.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
stylix = {
|
lib.colors = rec {
|
||||||
inherit (nixosConfig.stylix) polarity base16Scheme;
|
withHashtag = lib.mapAttrs (_: v: "#${v}") hex;
|
||||||
targets.gtk.enable = true;
|
hex = {
|
||||||
|
base00 = "101419";
|
||||||
cursor = {
|
base01 = "171b20";
|
||||||
package = pkgs.bibata-cursors;
|
base02 = "21262e";
|
||||||
name = "Bibata-Modern-Ice";
|
base03 = "242931";
|
||||||
size = 20;
|
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;
|
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 = {
|
battery = {
|
||||||
interval = 2;
|
interval = 2;
|
||||||
format = "{icon} {capacity}%";
|
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