1
0
Fork 0
mirror of https://git.sr.ht/~neverness/ultima synced 2025-04-12 09:12:25 +00:00

ahuyaetrls

This commit is contained in:
nixzoid 2025-04-05 08:09:53 +09:00
parent 2ecb1a9078
commit e39f9f8e8b
25 changed files with 346 additions and 565 deletions
flake.lock
machines/jetpure
modules
home
games/cartridges
groups
misc
home-manager
xdg
programs/cli/yazi
shells
themes/stylix
wm/hyprland
nixos/programs/steam

129
flake.lock generated
View file

@ -96,11 +96,11 @@
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1742863891,
"narHash": "sha256-/mGCIxO7zlWCHOZLaOMRoJgSLpIav0PBKWG3BQddElw=",
"lastModified": 1743649627,
"narHash": "sha256-YHpp3fduF2LHsNV4jNCM0RMMRl+SmKhRmb46qUnVp4A=",
"owner": "lilyinstarlight",
"repo": "nixos-cosmic",
"rev": "366999efebcad2165f472ef93e9c996693bda75d",
"rev": "80bf9c7f07b6cc0b305c2fdd9a6d18ffcd49dfd6",
"type": "github"
},
"original": {
@ -136,11 +136,11 @@
]
},
"locked": {
"lastModified": 1741786315,
"narHash": "sha256-VT65AE2syHVj6v/DGB496bqBnu1PXrrzwlw07/Zpllc=",
"lastModified": 1743598667,
"narHash": "sha256-ViE7NoFWytYO2uJONTAX35eGsvTYXNHjWALeHAg8OQY=",
"owner": "nix-community",
"repo": "disko",
"rev": "0d8c6ad4a43906d14abd5c60e0ffe7b587b213de",
"rev": "329d3d7e8bc63dd30c39e14e6076db590a6eabe6",
"type": "github"
},
"original": {
@ -349,11 +349,11 @@
]
},
"locked": {
"lastModified": 1742521627,
"narHash": "sha256-hMp13ZbQFVzT55LQJrJ9cX+T0XLsTf4mTRRIfQAPcrs=",
"lastModified": 1743644846,
"narHash": "sha256-I217zRnDlSdWzoZi4sHaRKdY+x60tLOo8TyRshkyUBM=",
"owner": "fufexan",
"repo": "nix-gaming",
"rev": "6f0d1034a2ba574c57952d6c29666b0fdfc5693e",
"rev": "a6fac721ece856f5dd4690b41b92e7ba3a71d033",
"type": "github"
},
"original": {
@ -429,11 +429,11 @@
},
"hardware": {
"locked": {
"lastModified": 1742376361,
"narHash": "sha256-VFMgJkp/COvkt5dnkZB4D2szVdmF6DGm5ZdVvTUy61c=",
"lastModified": 1743420942,
"narHash": "sha256-b/exDDQSLmENZZgbAEI3qi9yHkuXAXCPbormD8CSJXo=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "daaae13dff0ecc692509a1332ff9003d9952d7a9",
"rev": "de6fc5551121c59c01e2a3d45b277a6d05077bc4",
"type": "github"
},
"original": {
@ -450,11 +450,11 @@
]
},
"locked": {
"lastModified": 1742530487,
"narHash": "sha256-yjBjRn294NpPagPAQCio20X5BzBXiOoz2+xF3/YmEkU=",
"lastModified": 1743648554,
"narHash": "sha256-23JFd+zd2GamTTdnGuFVeIg8x8C3hLpQJRh/PGTORzo=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "d61711497be9ad6a6633aaf203b038b5a970621f",
"rev": "107352dde4ff3c01cb5a0b3fe17f5beef37215bc",
"type": "github"
},
"original": {
@ -513,11 +513,11 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
},
"locked": {
"lastModified": 1742547313,
"narHash": "sha256-4P05jbOpNtC3sPnA8/2UFEh/4DcwgcEZN0Ha3aOMnjI=",
"lastModified": 1743644801,
"narHash": "sha256-z8x/j/RuDBo/5lNt3XYatKRpIMFMHVE2HK7TKVxYn+c=",
"owner": "sodiboo",
"repo": "niri-flake",
"rev": "a084f11e00767313f92f3802a0907f1bca32a252",
"rev": "f3fca85fe72c70d58f44f4c6ad2f27a91aa54d0d",
"type": "github"
},
"original": {
@ -546,11 +546,11 @@
"niri-unstable": {
"flake": false,
"locked": {
"lastModified": 1742542657,
"narHash": "sha256-lUz/YftLDTZvsgbzC2bppHLbflsS/NuaNZXp3UvvYgw=",
"lastModified": 1743492917,
"narHash": "sha256-OqLDg0Ody1HX23hgjvjIkfZPNhYKxbkj/ONcDjdD4Ik=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "fd1f43673cf4d1e84d9da67e294c040934034eda",
"rev": "60034a57efd9c8130b05797b37cbc187a8c13145",
"type": "github"
},
"original": {
@ -569,11 +569,11 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1742469527,
"narHash": "sha256-4RYuXu2q+fgu+lDIAPEZW/C5+OMbfyOgoJ+S3OQMhcQ=",
"lastModified": 1743597733,
"narHash": "sha256-s2N8foBzxht3IuRyQ34VX3coQWNZKchoTHI3DEaKMKA=",
"owner": "kaylorben",
"repo": "nixcord",
"rev": "f9797561bd3b0dbe13d56567dfd6f54c49b80d8f",
"rev": "1c9bcc2d01497c274555ff659a7272e7e1572cfb",
"type": "github"
},
"original": {
@ -584,16 +584,16 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1735554305,
"narHash": "sha256-zExSA1i/b+1NMRhGGLtNfFGXgLtgo+dcuzHzaWA6w3Q=",
"lastModified": 1743583204,
"narHash": "sha256-F7n4+KOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "0e82ab234249d8eee3e8c91437802b32c74bb3fd",
"rev": "2c8d3f48d33929642c1c12cd243df4cc7d2ce434",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixpkgs-unstable",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
@ -615,11 +615,11 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1742751704,
"narHash": "sha256-rBfc+H1dDBUQ2mgVITMGBPI1PGuCznf9rcWX/XIULyE=",
"lastModified": 1743576891,
"narHash": "sha256-vXiKURtntURybE6FMNFAVpRPr8+e8KoLPrYs9TGuAKc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "f0946fa5f1fb876a9dc2e1850d9d3a4e3f914092",
"rev": "44a69ed688786e98a101f02b712c313f1ade37ab",
"type": "github"
},
"original": {
@ -630,22 +630,6 @@
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1742422364,
"narHash": "sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "a84ebe20c6bc2ecbcfb000a50776219f48d134cc",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1741513245,
"narHash": "sha256-7rTAMNTY1xoBwz0h7ZMtEcd8LELk9R5TzBPoHuhNSCk=",
@ -670,11 +654,11 @@
"treefmt-nix": "treefmt-nix_2"
},
"locked": {
"lastModified": 1742547066,
"narHash": "sha256-J0jebTk/QkaKZp2pscRmqd7897GWTY8mnu3IKOw0EIc=",
"lastModified": 1743664743,
"narHash": "sha256-9kJzXF/QUyJXrDxqRDNLLxg3mN67zd6TO+8p04CiNqU=",
"owner": "nix-community",
"repo": "NUR",
"rev": "a0e104c959c0df8d451967062d951ffd1fc6b0c6",
"rev": "058e262c7be3ed96a726ed3b9ca59140c0d37ba3",
"type": "github"
},
"original": {
@ -719,7 +703,7 @@
"impermanence": "impermanence",
"niri": "niri",
"nixcord": "nixcord",
"nixpkgs": "nixpkgs_2",
"nixpkgs": "nixpkgs",
"nixpkgs-stable": "nixpkgs-stable",
"nur": "nur",
"spicetify": "spicetify",
@ -736,11 +720,11 @@
]
},
"locked": {
"lastModified": 1742437918,
"narHash": "sha256-Vflb6KJVDikFcM9E231mRN88uk4+jo7BWtaaQMifthI=",
"lastModified": 1743475035,
"narHash": "sha256-uLjVsb4Rxnp1zmFdPCDmdODd4RY6ETOeRj0IkC0ij/4=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "f03085549609e49c7bcbbee86a1949057d087199",
"rev": "bee11c51c2cda3ac57c9e0149d94b86cc1b00d13",
"type": "github"
},
"original": {
@ -757,11 +741,11 @@
"systems": "systems_2"
},
"locked": {
"lastModified": 1742512598,
"narHash": "sha256-nFPhSSxrPrpkmFR6vQq8OpUS+lGIAxDCUKg+5/qcnR8=",
"lastModified": 1743595372,
"narHash": "sha256-e3x1mhpPpYgyyin9j/VbrBpOT5PFpEfx2hkxVZuJZhg=",
"owner": "Gerg-L",
"repo": "spicetify-nix",
"rev": "610654a0afe56766e639077d9d267148667a25e8",
"rev": "543f12dd14c62ddee79ab79fbfd8726f312b89ff",
"type": "github"
},
"original": {
@ -782,7 +766,7 @@
"git-hooks": "git-hooks",
"gnome-shell": "gnome-shell",
"home-manager": "home-manager",
"nixpkgs": "nixpkgs_3",
"nixpkgs": "nixpkgs_2",
"nur": "nur_2",
"systems": "systems_3",
"tinted-foot": "tinted-foot",
@ -792,11 +776,11 @@
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1742496983,
"narHash": "sha256-UpJrU0DEhNLVZwL/RPVOEUHCG6iDOVDoYelkmgS4V38=",
"lastModified": 1743630094,
"narHash": "sha256-irmHQhaHgq6iwHAuexgdqPA4X/254ss00zXPRcc8sZw=",
"owner": "danth",
"repo": "stylix",
"rev": "7e9906679d384472849272e5a5eef7adbdb1d87f",
"rev": "194a91d0018daaf5bcfcea4702e6800426a82445",
"type": "github"
},
"original": {
@ -948,14 +932,17 @@
},
"treefmt-nix": {
"inputs": {
"nixpkgs": "nixpkgs"
"nixpkgs": [
"nixcord",
"nixpkgs"
]
},
"locked": {
"lastModified": 1739829690,
"narHash": "sha256-mL1szCeIsjh6Khn3nH2cYtwO5YXG6gBiTw1A30iGeDU=",
"lastModified": 1742370146,
"narHash": "sha256-XRE8hL4vKIQyVMDXykFh4ceo3KSpuJF3ts8GKwh5bIU=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "3d0579f5cc93436052d94b73925b48973a104204",
"rev": "adc195eef5da3606891cedf80c0d9ce2d3190808",
"type": "github"
},
"original": {
@ -1044,11 +1031,11 @@
"xwayland-satellite-unstable": {
"flake": false,
"locked": {
"lastModified": 1742475924,
"narHash": "sha256-xe3tfHp1aisnUVrCbn1axwpeJzcrSOvQNn1bZt6k5DM=",
"lastModified": 1743346993,
"narHash": "sha256-i7rWd/5BcqLgQEtB5L/6gKN5R5GUJcmm34F+iBivH60=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "1d98ee089c8bad414a346028a7a0f539ad7cfb9d",
"rev": "45c055696437a08e3989d9b91d9c617b84cc2bc3",
"type": "github"
},
"original": {
@ -1065,11 +1052,11 @@
]
},
"locked": {
"lastModified": 1740911529,
"narHash": "sha256-6f9MAXVCSwGRKL19pDBKgeoExH+uKqmsKl1L+IsutBI=",
"lastModified": 1742708823,
"narHash": "sha256-KjMYMDkFjY+I0qJbZuJv+YMg7/9gyR3SRw/UKLv1MTA=",
"owner": "Benexl",
"repo": "yt-x",
"rev": "9a90295d0aad9cff777bb0af11b2f499a54c64d9",
"rev": "0d1ead815c0c116530000d048922d50e712c9184",
"type": "github"
},
"original": {

View file

@ -4,74 +4,74 @@
}:
let
inherit (lib.x) on umport;
inherit (lib.x) umport mkGrpOn on;
in
{
imports = umport {
path = ./.;
exclude = [ ./default.nix ];
};
imports = umport { path = ./modules; };
module = {
programs = {
cli = {
common = on;
cava = on;
develop = on;
fetch = on;
figlet = on;
helix = on;
imageEdit = on;
legendary = on;
systop = on;
yazi = on;
};
gui = {
keepass = on;
mpv = on;
nixcord = on;
obs = on;
qutebrowser = on;
spotify = on;
swayimg = on;
syncthing = on;
telegram = on;
zathura = on;
cli = mkGrpOn [
"common"
"cava"
"develop"
"fetch"
"figlet"
"helix"
"imageEdit"
"legendary"
"systop"
"yazi"
];
gui = mkGrpOn [
"keepass"
"mpv"
"nixcord"
"obs"
"qutebrowser"
"spotify"
"swayimg"
"syncthing"
"telegram"
"zathura"
];
};
shells = mkGrpOn [
"fish"
"translate"
"starship"
];
themes =
mkGrpOn [
"qt"
]
// {
stylix = on // {
icon = "adwaita";
cursor.size = 16;
};
};
wm = (mkGrpOn [ "hyprland" ]) // {
terminals = mkGrpOn [
"kitty"
];
misc = mkGrpOn [
"mako"
"tofi"
"wlogout"
];
};
shells = {
fish = on;
translate = on;
starship = on;
};
themes = {
qt = on;
stylix = on // {
icon = "adwaita";
cursor.size = 16;
};
};
wm = {
hyprland = on;
niri = on;
terminals.kitty = on;
misc = {
mako = on;
tofi = on;
wlogout = on;
};
};
games = {
mindustry = on;
minecraft = on;
openarena = on;
srb2 = on;
wine = on;
};
misc = {
dconf = on;
xdg.mime = on;
};
games = mkGrpOn [
"mindustry"
"minecraft"
"openarena"
"srb2"
"wine"
];
misc = mkGrpOn [
"dconf"
"xdg"
];
};
}

View file

@ -12,10 +12,10 @@ in
module.wm.hyprland = {
autostart = [ "mako" ];
binds = [
(m "$rt" "kitty")
(s "$rt" "kitty --class=termfloat")
(m "RETURN" "kitty")
(s "RETURN" "kitty --class=termfloat")
(m "$tb" "tofi-drun | xargs hyprctl dispatch exec -- ")
(m "TAB" "tofi-drun | xargs hyprctl dispatch exec -- ")
(m "V" "telegram-desktop")
(s "V" "vesktop")

View file

@ -4,14 +4,13 @@
}:
let
inherit (lib.x) on umport;
inherit (lib.x) umport on;
in
{
imports = umport {
path = ./.;
exclude = [ ./default.nix ];
};
imports = umport { path = ./modules; };
programs.adb = lib.mkForce on;
module = {
themes.stylix = on;

View file

@ -1,4 +1,5 @@
{
pkgs,
lib,
config,
...
@ -7,20 +8,19 @@
with lib;
with x;
let
cfg = config.module.groups.themes;
cfg = config.module.games.cartridges;
in
{
options = {
module.groups.themes = {
module.games.cartridges = {
enable = mkBool false;
};
};
config = mkIf cfg.enable {
module.themes = mkGrpOn [
"qt"
"stylix"
home.packages = with pkgs; [
cartridges
];
};
}

View file

@ -1,35 +0,0 @@
{
lib,
config,
...
}:
with lib;
with x;
let
cfg = config.module.groups.cliNeed;
in
{
options = {
module.groups.cliNeed = {
enable = mkBool false;
};
};
config = mkIf cfg.enable {
module = {
programs.cli = mkGrpOn [
"common"
"fetch"
"helix"
"yazi"
];
shells = mkGrpOn [
"fish"
"starship"
"translate"
];
};
};
}

View file

@ -1,29 +0,0 @@
{
lib,
config,
...
}:
with lib;
with x;
let
cfg = config.module.groups.games;
in
{
options = {
module.groups.games = {
enable = mkBool false;
};
};
config = mkIf cfg.enable {
module.games = mkGrpOn [
"mindustry"
"minecraft"
"openarena"
"srb2"
"wine"
];
};
}

View file

@ -1,29 +0,0 @@
{
lib,
config,
...
}:
with lib;
with x;
let
cfg = config.module.groups.media;
in
{
options = {
module.groups.media = {
enable = mkBool false;
};
};
config = mkIf cfg.enable {
module = {
programs.gui = mkGrpOn [
"mpv"
"swayimg"
"zathura"
];
};
};
}

View file

@ -1,27 +0,0 @@
{
lib,
config,
...
}:
with lib;
with x;
let
cfg = config.module.groups.music;
in
{
options = {
module.groups.music = {
enable = mkBool false;
};
};
config = mkIf cfg.enable {
module = {
programs.gui = mkGrpOn [
"spotify"
];
};
};
}

View file

@ -1,26 +0,0 @@
{
lib,
config,
...
}:
with lib;
with x;
let
cfg = config.module.groups.security;
in
{
options = {
module.groups.security = {
enable = mkBool false;
};
};
config = mkIf cfg.enable {
module.programs.gui = mkGrpOn [
"keepass"
"syncthing"
];
};
}

View file

@ -1,26 +0,0 @@
{
lib,
config,
...
}:
with lib;
with x;
let
cfg = config.module.groups.social;
in
{
options = {
module.groups.social = {
enable = mkBool false;
};
};
config = mkIf cfg.enable {
module.programs.gui = mkGrpOn [
"nixcord"
"telegram"
];
};
}

View file

@ -1,26 +0,0 @@
{
lib,
config,
...
}:
with lib;
with x;
let
cfg = config.module.groups.web;
in
{
options = {
module.groups.web = {
enable = mkBool false;
};
};
config = mkIf cfg.enable {
module.programs.gui = mkGrpOn [
"qutebrowser"
"syncthing"
];
};
}

View file

@ -1,38 +0,0 @@
{
lib,
config,
...
}:
with lib;
with x;
let
cfg = config.module.groups.windowManager;
in
{
options = {
module.groups.windowManager = {
enable = mkBool false;
};
};
config = mkIf cfg.enable {
module.wm =
(mkGrpOn [
"hyprland"
])
// {
misc = mkGrpOn [
"mako"
"tofi"
"wlogout"
];
}
// {
terminals = mkGrpOn [
"kitty"
];
};
};
}

View file

@ -1,19 +0,0 @@
{
pkgs,
lib,
config,
...
}:
with lib;
let
inherit (pkgs) libnotify;
dag = lib.hm.dag.entryAfter [ "" ];
papirus = config.stylix.iconTheme.package;
in
{
home.activation.rebuildFinish = mkIf (x.sys.is != "iso") (dag ''
run ${getExe' libnotify "notify-send"} "Home-Manager rebuild finished" -t 1500 -i "${papirus}/share/icons/Papirus-Dark/64x64/apps/nix-snowflake.svg"
'');
}

View file

@ -13,7 +13,7 @@ in
{
options.module.misc.xdg = {
mime.enable = mkBool false;
enable = mkBool false;
};
config = {

View file

@ -23,9 +23,7 @@
max_width = 5000;
};
opener = {
open = [
{ run = "xdg-open $@"; }
];
open = [ { run = "xdg-open $@"; } ];
edit = [
{
run = ''hx "$@"'';
@ -49,7 +47,7 @@
{
desc = "Document";
orphan = true;
run = "onlyoffice-desktopeditors";
run = "libreoffice";
}
];
extract = [ { run = ''ouch d -y "$@"''; } ];

View file

@ -1,30 +1,30 @@
let
# VARIABLES
col = "set fish_color";
pag = "set fish_pager_color";
sel = "${pag}_selected";
sec = "${pag}_secondary";
bol = "--bold";
ita = "--italics";
bg = "--background";
# COLORS
colors = ''
# COLORS
${col}_cancel ${bg}=red ${bol} black
${col}_comment gray
'';
pager = ''
# COMPLETIONS
${pag}_completion white
${sel}_completion black ${bol}
${sel}_completion black ${bol}
${sec}_completion white
${pag}_prefix white
${sel}_prefix black ${bol}
${pag}_description yellow ${ita}
${sel}_description black
${pag}_background black
${sel}_background ${bg}=green
${pag}_progress ${bg}=magenta black
${sel}_background ${bg}=green
${pag}_progress black ${bg}=red
'';
in

View file

@ -19,12 +19,8 @@ in
};
config = mkIf cfg.enable {
home.packages = with pkgs; [
fish-helix
grc
];
home.packages = with pkgs; [ grc ];
programs = {
# nix-index.enableFishIntegration = true;
fish = on // {
package = pkgs.fish;
preferAbbrs = true;
@ -35,10 +31,23 @@ in
};
interactiveShellInit =
(import ./colors.nix)
+ ''
fish_vi_key_bindings
fish_helix_key_bindings
'';
+ (
let
d = "bind -M default";
v = "bind -M visual";
in
# fish
''
fish_vi_key_bindings
# default
${d} d delete-char
${d} x cancel
# visual
${v} x down-line
''
);
shellInitLast =
let
winman =
@ -51,28 +60,12 @@ in
in
# fish
''
set fish_cursor_default block
set fish_cursor_insert line
set fish_cursor_replace_one underscore
set fish_cursor_replace underscore
set fish_cursor_visual block
set fish_cursor_external line
set -g tide_prompt_transient_enabled true
set -g tide_prompt_add_newline_before true
set -g tide_left_prompt_items pwd git newline character
set -g tide_right_prompt_items cmd_duration
set -g tide_cmd_duration_icon
set -g tide_cmd_duration_threshold 1000
set -g tide_pwd_icon_home "home of user ${sys.userName}"
set -g tide_pwd_icon 󰋜
set -g tide_pwd_icon_unwritable 󰌾
set -g tide_pwd_transient_enabled true
set -g tide_pwd_color_truncated_dirs brblack
set -g tide_pwd_color_dirs blue
set -g tide_pwd_color_anchors blue
set -g tide_git_color_branch -o green
set fish_cursor_default block
set fish_cursor_insert line
set fish_cursor_replace_one underscore
set fish_cursor_replace underscore
set fish_cursor_visual block
set fish_cursor_external line
[ "$(tty)" = "/dev/tty1" ] && exec ${winman} # LAUNCH WM
'';

View file

@ -9,7 +9,6 @@ with lib;
with x;
let
cfg = config.module.shells.zsh;
abbrs = config.module.shells.abbrs;
in
{
@ -32,66 +31,68 @@ in
with pkgs;
on
// {
# COOL TOOLS YEYE
plugins = plug.plugins;
syntaxHighlighting = on;
enableCompletion = true;
autosuggestion = on;
# SETS
dotDir = ".config/zsh";
completionInit = "autoload -U compinit && compinit";
# CONFIGURATION
completionInit = ''
autoload -U compinit && compinit
'';
oh-my-zsh = plug.ohMyZsh;
zsh-abbr = on // {
abbreviations = abbrs;
abbreviations = config.module.shells.abbrs;
};
initExtra =
let
completion = {
default = ''
zstyle ':completion:*' rehash true
zstyle ':completion:*' menu select
zstyle ':completion:*:git-checkout:*' sort false
zstyle ':completion::complete:*' gain-privileges 1
'';
fzf-tab = ''
zstyle ':completion:*' menu no
zstyle ':fzf-tab:*' fzf-command fzf
zstyle ':fzf-tab:*' fzf-pad 4
zstyle ':fzf-tab:*' fzf-flags --color=fg:1,fg+:2,gutter:-1 \
--height=60% \
--margin=0,30%,0,0 \
--padding=0 \
--no-mouse --border rounded \
--prompt "Prompt: " \
--pointer "->" \
--info hidden
zstyle ':fzf-tab:*' switch-group '<' '>'
zstyle ':fzf-tab:*' switch-group F1 F2
zstyle ':fzf-tab:*' fzf-bindings 'space:accept'
zstyle ':fzf-tab:*' accept-line enter
zstyle ':fzf-tab:complete:cd:*' fzf-preview 'eza -1 --color=always \
--icons always \
$realpath'
'';
default =
# zsh
''
zstyle ':completion:*' rehash true
zstyle ':completion:*' menu select
zstyle ':completion:*:git-checkout:*' sort false
zstyle ':completion::complete:*' gain-privileges 1
'';
fzf-tab =
# zsh
''
zstyle ':completion:*' menu no
zstyle ':fzf-tab:*' fzf-command fzf
zstyle ':fzf-tab:*' fzf-pad 4
zstyle ':fzf-tab:*' fzf-flags --color=fg:1,fg+:2,gutter:-1 \
--height=60% \
--margin=0,30%,0,0 \
--padding=0 \
--no-mouse --border rounded \
--prompt "Prompt: " \
--pointer "->" \
--info hidden
zstyle ':fzf-tab:*' switch-group '<' '>'
zstyle ':fzf-tab:*' switch-group F1 F2
zstyle ':fzf-tab:*' fzf-bindings 'space:accept'
zstyle ':fzf-tab:*' accept-line enter
zstyle ':fzf-tab:complete:cd:*' fzf-preview 'eza -1 --color=always \
--icons always \
$realpath'
'';
};
settings = {
default = ''
autoload -U colors && colors
setopt sharehistory
setopt automenu
setopt nobeep
fpath=(${zsh-completions}/share/zsh/site-functions $fpath)
'';
default =
# zsh
''
autoload -U colors && colors
setopt sharehistory
setopt automenu
setopt nobeep
fpath=(${zsh-completions}/share/zsh/site-functions $fpath)
'';
};
in
''
# COMPLETION
${completion.fzf-tab}
# ZSH SETTINGS
${settings.default}
# BINDINGS
${builtins.readFile ./keymap}
${completion.fzf-tab}
${settings.default}
${builtins.readFile ./keymap}
'';
};
};

View file

@ -17,7 +17,7 @@ in
module.themes.stylix = {
enable = mkBool false;
icon = mkNull.str null;
cursor.size = mkInt 16;
cursor.size = mkInt 24;
};
};
@ -38,9 +38,9 @@ in
in
google-cursor.override (
with config.lib.stylix.colors.withHashtag;
if x.sys.is == "laptop" then
if (x.sys.is == "laptop") then
mk base08 base00 base08
else if x.sys.is == "desktop" then
else if (x.sys.is == "desktop") then
mk base0E base00 base0E
else
mk base00 base05 base05
@ -72,43 +72,10 @@ in
terminal = 12;
};
};
targets = {
# cli
tmux = on;
cava = on // {
rainbow = on;
};
fish = on;
nushell = on;
# wm
hyprland = on // {
hyprpaper = on;
};
hyprpaper = on;
niri = on;
sway = on;
river = on;
# misc
foot = on;
kitty = on;
mako = off;
rofi = on;
bemenu = on;
# tools
nixvim = on;
yazi = on;
fzf = on;
bat = on;
mangohud = on;
# gui
spicetify = off;
nixcord = on;
zathura = on;
qutebrowser = on;
firefox = on;
floorp = on;
halloy = on;
gtk = on;
targets = import ./targets.nix {
inherit
lib
;
};
};
};

View file

@ -0,0 +1,48 @@
{
lib,
...
}:
let
inherit (lib.x) on off;
in
{
# cli
tmux = on;
cava = on // {
rainbow = on;
};
fish = on;
nushell = on;
starship = on;
# wm
hyprland = on // {
hyprpaper = on;
};
hyprpaper = on;
niri = on;
sway = on;
river = on;
# misc
foot = on;
kitty = on;
mako = off;
rofi = on;
bemenu = on;
# tools
nixvim = on;
yazi = on;
fzf = on;
bat = on;
mangohud = on;
# gui
spicetify = off;
nixcord = on;
zathura = on;
qutebrowser = on;
firefox = on;
floorp = on;
halloy = on;
gtk = on;
}

View file

@ -6,17 +6,17 @@
}:
let
inherit (lib) x getExe;
inherit (lib)
getExe
x
;
inherit (pkgs)
uutils-coreutils-noprefix
grimblast
light
;
cfg = config.module.wm.hyprland;
tee = "${lib.getExe' pkgs.uutils-coreutils-noprefix "tee"}";
pic = ''
$(xdg-user-dir PICTURES)/scr/$(date +'scr_%d-%m-%y|%H:%M:%S.png')
'';
mic = pkgs.writeShellScriptBin "micMute-hyprland" ''
fixf4=$(cat /sys/class/leds/platform\:\:micmute/brightness);
echo $((1-fixf4)) | sudo ${tee} /sys/class/leds/platform\:\:micmute/brightness;
wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
'';
tee = "${lib.getExe' uutils-coreutils-noprefix "tee"}";
in
{
@ -41,7 +41,6 @@ in
# binds
bind =
let
inherit (pkgs) grimblast;
mk =
m: a: c:
"${toString m} ${toString a}, ${toString c}";
@ -78,11 +77,19 @@ in
(mk "$m," "$mu" "workspace, e-1")
(mk "$m," "$nx" "workspace, e+1")
(mk "$m," "$pr" "workspace, e-1")
# screenshot
(mk null null "$PR, exec, ${getExe grimblast} copysave area ${pic}")
(mk null "$s" "$PR, exec, ${getExe grimblast} copysave output ${pic}")
]
++ (
let
pic = ''
$(xdg-user-dir PICTURES)/scr/$(date +'scr_%d-%m-%y|%H:%M:%S.png')
'';
in
[
# screenshot
(mk null null "$PR, exec, ${getExe grimblast} copysave area ${pic}")
(mk null "$s" "$PR, exec, ${getExe grimblast} copysave output ${pic}")
]
)
++ cfg.binds
++ x.wm.workspaces;
@ -143,20 +150,29 @@ in
(c "up " "moveactive, 0 -50")
(c "right" "moveactive, 50 0")
]
++ (
let
mic = pkgs.writeShellScriptBin "micMute-hyprland" ''
fixf4=$(cat /sys/class/leds/platform\:\:micmute/brightness);
echo $((1-fixf4)) | sudo ${tee} /sys/class/leds/platform\:\:micmute/brightness;
wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
'';
in
[
(fn "XF86AudioMute " "$ex, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle")
(fn "XF86AudioMicMute " "$ex, ${getExe mic}'")
(fn "XF86AudioRaiseVolume" "$ex, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+")
(fn "XF86AudioLowerVolume" "$ex, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-")
(fs "XF86AudioRaiseVolume" "$ex, wpctl set-volume @DEFAULT_AUDIO_SINK@ 10%+")
(fs "XF86AudioLowerVolume" "$ex, wpctl set-volume @DEFAULT_AUDIO_SINK@ 10%-")
]
)
++ [
(fn "XF86AudioMute " "$ex, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle")
(fn "XF86AudioMicMute " "$ex, ${getExe mic}'")
(fn "XF86AudioRaiseVolume" "$ex, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+")
(fn "XF86AudioLowerVolume" "$ex, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-")
(fs "XF86AudioRaiseVolume" "$ex, wpctl set-volume @DEFAULT_AUDIO_SINK@ 10%+")
(fs "XF86AudioLowerVolume" "$ex, wpctl set-volume @DEFAULT_AUDIO_SINK@ 10%-")
]
++ (with pkgs; [
(fn "XF86MonBrightnessDown" "$ex, sudo ${getExe light} -U 10")
(fn "XF86MonBrightnessUp " "$ex, sudo ${getExe light} -A 10")
(fs "XF86MonBrightnessDown" "$ex, sudo ${getExe light} -S 70")
(fs "XF86MonBrightnessUp " "$ex, sudo ${getExe light} -S 100")
])
]
++ [
(fn "XF86Favorites" "$ex, wlogout -sc 12 -r 12")
(fs "XF86Favorites" "$ex, poweroff")

View file

@ -14,9 +14,9 @@
spec = rule + ", shadow:false, bordersize:1";
in
[
"w[tv1], ${rule}"
"f[1], ${rule}"
"s[true], ${spec}"
("w[tv1], " + rule)
("f[1], " + rule)
("s[true], " + spec)
];
windowrulev2 =
let
@ -38,6 +38,7 @@
(cl "vesktop" "workspace 5 silent")
(cl "anicli" "workspace 6 silent")
(cl "org.qbittorrent.qBittorrent" "workspace 8 silent")
(tl "steam" "workspace 10 silent")
# term rules
(cl "termfloat" "float")
@ -84,10 +85,18 @@
# pinned
(cl "mpv" "nodim")
(mk "pinned:1" "bordercolor rgb(${base0B}) rgb(${base01})")
"bordersize 0, floating:0, onworkspace:w[tv1]"
"rounding 0, floating:0, onworkspace:w[tv1]"
"bordersize 0, floating:0, onworkspace:f[1]"
"rounding 0, floating:0, onworkspace:f[1]"
];
]
++ (
let
float = "floating:0, ";
w = float + "onworkspace:w[tv1]";
f = float + "onworkspace:f[1]";
in
[
("bordersize 0, " + w)
("rounding 0, " + w)
("bordersize 0, " + f)
("rounding 0, " + f)
]
);
}

View file

@ -7,10 +7,10 @@
let
inherit (lib)
x
mkForce
getExe
getExe'
getExe
x
;
cfg = config.module.wm.hyprland;
on.enabled = true;
@ -30,6 +30,7 @@ with config.lib.stylix.colors;
in
[
"wpctl set-volume @DEFAULT_AUDIO_SINK@ 1"
# "${getExe pkgs.swaybg} -i ${config.stylix.image}"
(getExe mic)
]
++ cfg.autostart;

View file

@ -8,7 +8,12 @@
with lib;
with x;
let
inherit (pkgs) protonup proton-ge-bin steam;
inherit (pkgs)
stable
protonup
proton-ge-bin
steam
;
cfg = config.module.programs.steam;
in
@ -16,6 +21,7 @@ in
options = {
module.programs.steam = {
enable = mkBool false;
autostart = mkBool true;
};
};
@ -32,7 +38,10 @@ in
steam = on // {
gamescopeSession = on;
remotePlay.openFirewall = true;
extraCompatPackages = [ proton-ge-bin ];
extraCompatPackages = [
stable.proton-ge-bin
proton-ge-bin
];
package = steam.override {
extraEnv = {
MANGOHUD = true;
@ -42,5 +51,13 @@ in
};
};
};
systemd.user.services.steam-autostart = mkIf cfg.autostart {
wantedBy = [ "graphical-session.target" ];
serviceConfig = {
ExecStart = "${getExe pkgs.steam} -nochatui -nofriendsui -silent %U";
Restart = "on-abort";
RestartSec = "5s";
};
};
};
}