Compare commits
8 commits
4f944b2f9c
...
c214e2c40b
Author | SHA1 | Date | |
---|---|---|---|
c214e2c40b | |||
56feb3e570 | |||
75c0ca9805 | |||
14bf6d7ef6 | |||
f62569d5d6 | |||
caf4fab8f4 | |||
64db2313b0 | |||
bc2ebd6c82 |
15 changed files with 348 additions and 172 deletions
176
flake.lock
176
flake.lock
|
@ -4,9 +4,7 @@
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"darwin": "darwin",
|
"darwin": "darwin",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": [
|
"nixpkgs": ["nixpkgs"],
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -44,10 +42,7 @@
|
||||||
},
|
},
|
||||||
"astal": {
|
"astal": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": ["ags", "nixpkgs"]
|
||||||
"ags",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731533099,
|
"lastModified": 1731533099,
|
||||||
|
@ -100,10 +95,7 @@
|
||||||
},
|
},
|
||||||
"crane_2": {
|
"crane_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": ["lanzaboote", "nixpkgs"]
|
||||||
"lanzaboote",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1717535930,
|
"lastModified": 1717535930,
|
||||||
|
@ -121,10 +113,7 @@
|
||||||
},
|
},
|
||||||
"darwin": {
|
"darwin": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": ["agenix", "nixpkgs"]
|
||||||
"agenix",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1700795494,
|
"lastModified": 1700795494,
|
||||||
|
@ -164,9 +153,7 @@
|
||||||
"firefox-addons": {
|
"firefox-addons": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
"nixpkgs": [
|
"nixpkgs": ["nixpkgs"]
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"dir": "pkgs/firefox-addons",
|
"dir": "pkgs/firefox-addons",
|
||||||
|
@ -252,10 +239,7 @@
|
||||||
},
|
},
|
||||||
"flake-parts_2": {
|
"flake-parts_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": ["lanzaboote", "nixpkgs"]
|
||||||
"lanzaboote",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1717285511,
|
"lastModified": 1717285511,
|
||||||
|
@ -377,11 +361,7 @@
|
||||||
},
|
},
|
||||||
"gitignore": {
|
"gitignore": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": ["lanzaboote", "pre-commit-hooks-nix", "nixpkgs"]
|
||||||
"lanzaboote",
|
|
||||||
"pre-commit-hooks-nix",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1709087332,
|
"lastModified": 1709087332,
|
||||||
|
@ -416,10 +396,7 @@
|
||||||
},
|
},
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": ["agenix", "nixpkgs"]
|
||||||
"agenix",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1703113217,
|
"lastModified": 1703113217,
|
||||||
|
@ -437,9 +414,7 @@
|
||||||
},
|
},
|
||||||
"home-manager_2": {
|
"home-manager_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": ["nixpkgs"]
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731786860,
|
"lastModified": 1731786860,
|
||||||
|
@ -459,9 +434,7 @@
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"crane": "crane",
|
"crane": "crane",
|
||||||
"naersk": "naersk",
|
"naersk": "naersk",
|
||||||
"nixpkgs": [
|
"nixpkgs": ["nixpkgs"],
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"rust-overlay": "rust-overlay"
|
"rust-overlay": "rust-overlay"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -484,9 +457,7 @@
|
||||||
"flake-compat": "flake-compat_3",
|
"flake-compat": "flake-compat_3",
|
||||||
"flake-parts": "flake-parts_2",
|
"flake-parts": "flake-parts_2",
|
||||||
"flake-utils": "flake-utils_2",
|
"flake-utils": "flake-utils_2",
|
||||||
"nixpkgs": [
|
"nixpkgs": ["nixpkgs"],
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"pre-commit-hooks-nix": "pre-commit-hooks-nix",
|
"pre-commit-hooks-nix": "pre-commit-hooks-nix",
|
||||||
"rust-overlay": "rust-overlay_2"
|
"rust-overlay": "rust-overlay_2"
|
||||||
},
|
},
|
||||||
|
@ -557,12 +528,7 @@
|
||||||
},
|
},
|
||||||
"naersk_2": {
|
"naersk_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": ["neovim-flake", "nvf", "rnix-lsp", "nixpkgs"]
|
||||||
"neovim-flake",
|
|
||||||
"nvf",
|
|
||||||
"rnix-lsp",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1655042882,
|
"lastModified": 1655042882,
|
||||||
|
@ -580,9 +546,7 @@
|
||||||
},
|
},
|
||||||
"neovim-flake": {
|
"neovim-flake": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": ["nixpkgs"],
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"nvf": "nvf"
|
"nvf": "nvf"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -601,16 +565,8 @@
|
||||||
},
|
},
|
||||||
"nil": {
|
"nil": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": [
|
"flake-utils": ["neovim-flake", "nvf", "flake-utils"],
|
||||||
"neovim-flake",
|
"nixpkgs": ["neovim-flake", "nvf", "nixpkgs"],
|
||||||
"nvf",
|
|
||||||
"flake-utils"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"neovim-flake",
|
|
||||||
"nvf",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"rust-overlay": "rust-overlay_3"
|
"rust-overlay": "rust-overlay_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -685,9 +641,7 @@
|
||||||
},
|
},
|
||||||
"nix-index-db": {
|
"nix-index-db": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": ["nixpkgs"]
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731593150,
|
"lastModified": 1731593150,
|
||||||
|
@ -854,16 +808,48 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1726871744,
|
"lastModified": 1731676054,
|
||||||
"narHash": "sha256-V5LpfdHyQkUF7RfOaDPrZDP+oqz88lTJrMT1+stXNwo=",
|
"narHash": "sha256-OZiZ3m8SCMfh3B6bfGC/Bm4x3qc1m2SVEAlkV6iY7Yg=",
|
||||||
"owner": "nixos",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "a1d92660c6b3b7c26fb883500a80ea9d33321be2",
|
"rev": "5e4fbfb6b3de1aa2872b76d49fafc942626e2add",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"ref": "nixpkgs-unstable",
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_6": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1731319897,
|
||||||
|
"narHash": "sha256-PbABj4tnbWFMfBp6OcUK5iGy1QY+/Z96ZcLpooIbuEI=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "dc460ec76cbff0e66e269457d7b728432263166c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "dc460ec76cbff0e66e269457d7b728432263166c",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_7": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1726871744,
|
||||||
|
"narHash": "sha256-V5LpfdHyQkUF7RfOaDPrZDP+oqz88lTJrMT1+stXNwo=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "5e4fbfb6b3de1aa2872b76d49fafc942626e2add",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
@ -1077,12 +1063,8 @@
|
||||||
},
|
},
|
||||||
"plasma-manager": {
|
"plasma-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": [
|
"home-manager": ["home-manager"],
|
||||||
"home-manager"
|
"nixpkgs": ["nixpkgs"]
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731193165,
|
"lastModified": 1731193165,
|
||||||
|
@ -2752,15 +2734,9 @@
|
||||||
},
|
},
|
||||||
"pre-commit-hooks-nix": {
|
"pre-commit-hooks-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": [
|
"flake-compat": ["lanzaboote", "flake-compat"],
|
||||||
"lanzaboote",
|
|
||||||
"flake-compat"
|
|
||||||
],
|
|
||||||
"gitignore": "gitignore",
|
"gitignore": "gitignore",
|
||||||
"nixpkgs": [
|
"nixpkgs": ["lanzaboote", "nixpkgs"],
|
||||||
"lanzaboote",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"nixpkgs-stable": "nixpkgs-stable"
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -2821,10 +2797,7 @@
|
||||||
},
|
},
|
||||||
"rust-overlay": {
|
"rust-overlay": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": ["ironbar", "nixpkgs"]
|
||||||
"ironbar",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730341826,
|
"lastModified": 1730341826,
|
||||||
|
@ -2842,14 +2815,8 @@
|
||||||
},
|
},
|
||||||
"rust-overlay_2": {
|
"rust-overlay_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": [
|
"flake-utils": ["lanzaboote", "flake-utils"],
|
||||||
"lanzaboote",
|
"nixpkgs": ["lanzaboote", "nixpkgs"]
|
||||||
"flake-utils"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"lanzaboote",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1717813066,
|
"lastModified": 1717813066,
|
||||||
|
@ -2867,18 +2834,8 @@
|
||||||
},
|
},
|
||||||
"rust-overlay_3": {
|
"rust-overlay_3": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": [
|
"flake-utils": ["neovim-flake", "nvf", "nil", "flake-utils"],
|
||||||
"neovim-flake",
|
"nixpkgs": ["neovim-flake", "nvf", "nil", "nixpkgs"]
|
||||||
"nvf",
|
|
||||||
"nil",
|
|
||||||
"flake-utils"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"neovim-flake",
|
|
||||||
"nvf",
|
|
||||||
"nil",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1714529851,
|
"lastModified": 1714529851,
|
||||||
|
@ -2896,10 +2853,7 @@
|
||||||
},
|
},
|
||||||
"rust-overlay_4": {
|
"rust-overlay_4": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": ["wezterm", "nixpkgs"]
|
||||||
"wezterm",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729477859,
|
"lastModified": 1729477859,
|
||||||
|
@ -3093,9 +3047,7 @@
|
||||||
"freetype2": "freetype2",
|
"freetype2": "freetype2",
|
||||||
"harfbuzz": "harfbuzz",
|
"harfbuzz": "harfbuzz",
|
||||||
"libpng": "libpng",
|
"libpng": "libpng",
|
||||||
"nixpkgs": [
|
"nixpkgs": ["nixpkgs"],
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"rust-overlay": "rust-overlay_4",
|
"rust-overlay": "rust-overlay_4",
|
||||||
"zlib": "zlib"
|
"zlib": "zlib"
|
||||||
},
|
},
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
eachSystem = f: nixpkgs.lib.genAttrs (import systems) (system: f nixpkgs.legacyPackages.${system});
|
eachSystem = f: nixpkgs.lib.genAttrs (import systems) (system: f nixpkgs.legacyPackages.${system});
|
||||||
treefmtEval = eachSystem (pkgs: treefmt-nix.lib.evalModule pkgs ./treefmt.nix);
|
treefmtEval = eachSystem (pkgs: treefmt-nix.lib.evalModule pkgs ./treefmt.nix);
|
||||||
in {
|
in {
|
||||||
|
imports = [./modules];
|
||||||
devShells = eachSystem (pkgs: {
|
devShells = eachSystem (pkgs: {
|
||||||
default = pkgs.mkShell {
|
default = pkgs.mkShell {
|
||||||
packages = [
|
packages = [
|
||||||
|
|
|
@ -15,10 +15,6 @@
|
||||||
programs = {
|
programs = {
|
||||||
fzf.enable = true;
|
fzf.enable = true;
|
||||||
hyfetch.enable = true;
|
hyfetch.enable = true;
|
||||||
yazi = {
|
|
||||||
enable = true;
|
|
||||||
enableFishIntegration = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# miscellaneous programs that do not need to be configured
|
# miscellaneous programs that do not need to be configured
|
||||||
|
|
111
home/programs/ironbar.nix
Normal file
111
home/programs/ironbar.nix
Normal file
|
@ -0,0 +1,111 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
icon_size = 28;
|
||||||
|
in {
|
||||||
|
imports = [
|
||||||
|
./swaync.nix
|
||||||
|
inputs.ironbar.homeManagerModules.default
|
||||||
|
];
|
||||||
|
programs.ironbar = {
|
||||||
|
enable = true;
|
||||||
|
systemd = true;
|
||||||
|
config = {
|
||||||
|
position = "top";
|
||||||
|
anchor_to_edges = true;
|
||||||
|
start = [
|
||||||
|
{
|
||||||
|
bar = [
|
||||||
|
{
|
||||||
|
label = "";
|
||||||
|
name = "power-btn";
|
||||||
|
on_click = "popup:toggle";
|
||||||
|
type = "button";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
class = "power-menu";
|
||||||
|
popup = [
|
||||||
|
{
|
||||||
|
orientation = "vertical";
|
||||||
|
type = "box";
|
||||||
|
widgets = [
|
||||||
|
{
|
||||||
|
label = "Power menu";
|
||||||
|
name = "header";
|
||||||
|
type = "label";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "box";
|
||||||
|
widgets = [
|
||||||
|
{
|
||||||
|
class = "power-btn";
|
||||||
|
label = "<span font-size='40pt'></span>";
|
||||||
|
on_click = "!shutdown now";
|
||||||
|
type = "button";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
class = "power-btn";
|
||||||
|
label = "<span font-size='40pt'></span>";
|
||||||
|
on_click = "!reboot";
|
||||||
|
type = "button";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
label = "Uptime: {{30000:uptime -p | cut -d ' ' -f2-}}";
|
||||||
|
name = "uptime";
|
||||||
|
type = "label";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
tooltip = "Up: {{30000:uptime -p | cut -d ' ' -f2-}}";
|
||||||
|
type = "custom";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
center = [
|
||||||
|
{
|
||||||
|
inherit icon_size;
|
||||||
|
type = "focused";
|
||||||
|
show_icon = true;
|
||||||
|
show_title = true;
|
||||||
|
truncate = "end";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
end = [
|
||||||
|
{
|
||||||
|
type = "upower";
|
||||||
|
format = "{percentage}%";
|
||||||
|
}
|
||||||
|
{type = "clock";}
|
||||||
|
{
|
||||||
|
type = "tray";
|
||||||
|
inherit icon_size;
|
||||||
|
}
|
||||||
|
(mkIf
|
||||||
|
config.services.swaync.enable
|
||||||
|
{
|
||||||
|
type = "notifications";
|
||||||
|
"show_count" = true;
|
||||||
|
icons = {
|
||||||
|
"closed_none" = "";
|
||||||
|
"closed_some" = "";
|
||||||
|
"closed_dnd" = "";
|
||||||
|
"open_none" = "";
|
||||||
|
"open_some" = "";
|
||||||
|
"open_dnd" = "";
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
};
|
||||||
|
style = ''
|
||||||
|
.tray .item {
|
||||||
|
min-width: 40px;
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,36 +0,0 @@
|
||||||
{inputs, ...}: {
|
|
||||||
imports = [inputs.ironbar.homeManagerModules.default];
|
|
||||||
programs.ironbar = {
|
|
||||||
enable = true;
|
|
||||||
systemd = true;
|
|
||||||
config = {
|
|
||||||
position = "top";
|
|
||||||
anchor_to_edges = true;
|
|
||||||
center = [
|
|
||||||
{
|
|
||||||
type = "focused";
|
|
||||||
show_icon = true;
|
|
||||||
show_title = true;
|
|
||||||
icon_size = 20;
|
|
||||||
truncate = "end";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
end = [
|
|
||||||
{type = "volume";}
|
|
||||||
{type = "clock";}
|
|
||||||
{type = "tray";}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
style = ''
|
|
||||||
.tray {
|
|
||||||
margin-top: 5px;
|
|
||||||
padding: 10px;
|
|
||||||
border-radius: 50px;
|
|
||||||
}
|
|
||||||
.tray .item {
|
|
||||||
border-radius: 50px;
|
|
||||||
min-height: 25px;
|
|
||||||
padding: 0;
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -8,14 +8,19 @@
|
||||||
terminal = "foot";
|
terminal = "foot";
|
||||||
browser = "firefox";
|
browser = "firefox";
|
||||||
prefix = "Alt";
|
prefix = "Alt";
|
||||||
|
guiFileManager = "nautilus";
|
||||||
|
cliFileManager = "yazi";
|
||||||
in {
|
in {
|
||||||
programs.niri.settings.binds = {
|
programs.niri.settings.binds = {
|
||||||
"${prefix}+D".action.spawn = appLauncher;
|
"${prefix}+D".action.spawn = appLauncher;
|
||||||
"${prefix}+Return".action.spawn = terminal;
|
"${prefix}+Return".action.spawn = terminal;
|
||||||
"${prefix}+W".action.spawn = browser;
|
"${prefix}+W".action.spawn = browser;
|
||||||
"${prefix}+Shift+E".action.quit.skip-confirmation = true;
|
"${prefix}+E".action.spawn = guiFileManager;
|
||||||
|
"${prefix}+Shift+E".action.spawn = [terminal "-e" cliFileManager];
|
||||||
|
|
||||||
"${prefix}+Shift+Slash".action = config.lib.niri.actions.show-hotkey-overlay;
|
"${prefix}+Shift+Slash".action = config.lib.niri.actions.show-hotkey-overlay;
|
||||||
"${prefix}+Q".action = config.lib.niri.actions.close-window;
|
"${prefix}+Q".action = config.lib.niri.actions.close-window;
|
||||||
|
"${prefix}+Shift+Q".action.quit.skip-confirmation = true;
|
||||||
"${prefix}+F".action = config.lib.niri.actions.maximize-column;
|
"${prefix}+F".action = config.lib.niri.actions.maximize-column;
|
||||||
"${prefix}+Shift+F".action = config.lib.niri.actions.fullscreen-window;
|
"${prefix}+Shift+F".action = config.lib.niri.actions.fullscreen-window;
|
||||||
"${prefix}+C".action = config.lib.niri.actions.center-column;
|
"${prefix}+C".action = config.lib.niri.actions.center-column;
|
||||||
|
@ -157,5 +162,7 @@ in {
|
||||||
"XF86AudioMedia" = {
|
"XF86AudioMedia" = {
|
||||||
action.spawn = ["sh" "-c" "env XDG_CURRENT_DESKTOP=gnome gnome-control-center"];
|
action.spawn = ["sh" "-c" "env XDG_CURRENT_DESKTOP=gnome gnome-control-center"];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
"XF86PowerOff".action.spawn = "wlogout";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,10 +26,13 @@ in {
|
||||||
|
|
||||||
programs.niri = {
|
programs.niri = {
|
||||||
settings = {
|
settings = {
|
||||||
input.keyboard.xkb = {
|
input = {
|
||||||
|
power-key-handling.enable = false;
|
||||||
|
keyboard.xkb = {
|
||||||
layout = "us";
|
layout = "us";
|
||||||
options = "compose:ralt";
|
options = "compose:ralt";
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
prefer-no-csd = true;
|
prefer-no-csd = true;
|
||||||
hotkey-overlay.skip-at-startup = true;
|
hotkey-overlay.skip-at-startup = true;
|
||||||
|
@ -117,4 +120,64 @@ in {
|
||||||
Restart = "on-failure";
|
Restart = "on-failure";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
programs.wlogout = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
layout = let
|
||||||
|
systemd = let
|
||||||
|
systemd = lib.getExe' pkgs.systemd;
|
||||||
|
in {
|
||||||
|
loginctl = systemd "loginctl";
|
||||||
|
systemctl = systemd "systemctl";
|
||||||
|
};
|
||||||
|
in [
|
||||||
|
{
|
||||||
|
action = "${systemd.loginctl} lock-session";
|
||||||
|
keybind = "l";
|
||||||
|
label = "lock";
|
||||||
|
text = "Lock";
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
action = "${systemd.systemctl} hibernate";
|
||||||
|
keybind = "h";
|
||||||
|
label = "hibernate";
|
||||||
|
text = "Hibernate";
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
action = "${
|
||||||
|
systemd.loginctl
|
||||||
|
} terminate-user ${
|
||||||
|
config.home.username
|
||||||
|
}";
|
||||||
|
|
||||||
|
keybind = "q";
|
||||||
|
label = "logout";
|
||||||
|
text = "Logout";
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
action = "${systemd.systemctl} poweroff";
|
||||||
|
keybind = "p";
|
||||||
|
label = "shutdown";
|
||||||
|
text = "Shutdown";
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
action = "${systemd.systemctl} suspend";
|
||||||
|
keybind = "s";
|
||||||
|
label = "suspend";
|
||||||
|
text = "Suspend";
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
action = "${systemd.systemctl} reboot";
|
||||||
|
keybind = "r";
|
||||||
|
label = "reboot";
|
||||||
|
text = "Reboot";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
64
home/programs/swaync.nix
Normal file
64
home/programs/swaync.nix
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
inherit (lib) mkForce;
|
||||||
|
swayncStyle = pkgs.fetchurl {
|
||||||
|
url = "https://github.com/catppuccin/swaync/releases/download/v0.2.3/macchiato.css";
|
||||||
|
sha256 = "sha256-LMm6nWn1JPPgj5YpppwFG3lXTtXem5atlIvqrDxd0bM=";
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
home.packages = [pkgs.procps];
|
||||||
|
services.swaync = {
|
||||||
|
enable = true;
|
||||||
|
style = swayncStyle;
|
||||||
|
settings = {
|
||||||
|
positionX = "right";
|
||||||
|
positionY = "top";
|
||||||
|
layer = "overlay";
|
||||||
|
control-center-layer = "top";
|
||||||
|
layer-shell = true;
|
||||||
|
cssPriority = "application";
|
||||||
|
control-center-margin-top = 0;
|
||||||
|
control-center-margin-bottom = 0;
|
||||||
|
control-center-margin-right = 0;
|
||||||
|
control-center-margin-left = 0;
|
||||||
|
notification-2fa-action = true;
|
||||||
|
notification-inline-replies = false;
|
||||||
|
notification-icon-size = 64;
|
||||||
|
notification-body-image-height = 100;
|
||||||
|
notification-body-image-width = 200;
|
||||||
|
widgets = [
|
||||||
|
"title"
|
||||||
|
"dnd"
|
||||||
|
"mpris"
|
||||||
|
"notifications"
|
||||||
|
"volume"
|
||||||
|
];
|
||||||
|
widget-config = {
|
||||||
|
title = {
|
||||||
|
text = "Notifications";
|
||||||
|
clear-all-button = true;
|
||||||
|
button-text = "";
|
||||||
|
};
|
||||||
|
dnd = {
|
||||||
|
text = "Do Not Disturb";
|
||||||
|
};
|
||||||
|
mpris = {
|
||||||
|
blur = true;
|
||||||
|
};
|
||||||
|
volume = {
|
||||||
|
label = "";
|
||||||
|
show-per-app = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.user.services.swaync = {
|
||||||
|
Install.WantedBy = mkForce ["graphical-session.target"];
|
||||||
|
Unit.ConditionEnvironment = mkForce "";
|
||||||
|
Unit.PartOf = lib.mkForce ["graphical-session.target"];
|
||||||
|
};
|
||||||
|
}
|
|
@ -4,8 +4,8 @@
|
||||||
./gnupg.nix
|
./gnupg.nix
|
||||||
./tmux.nix
|
./tmux.nix
|
||||||
./direnv.nix
|
./direnv.nix
|
||||||
./zellij.nix
|
|
||||||
./nix-index.nix
|
./nix-index.nix
|
||||||
|
./yazi.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
26
home/terminal/programs/yazi.nix
Normal file
26
home/terminal/programs/yazi.nix
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
programs.yazi = let
|
||||||
|
# https://github.com/iynaix/dotfiles/blob/8bb1568019ea26f034ac1af9c499b3ff102391a5/home-manager/shell/yazi.nix#L9-L11
|
||||||
|
mkYaziPlugin = name: text: {
|
||||||
|
"${name}" = toString (pkgs.writeTextDir "${name}.yazi/init.lua" text) + "/${name}.yazi";
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
enable = true;
|
||||||
|
enableFishIntegration = true;
|
||||||
|
plugins = mkYaziPlugin "smart-enter" ''
|
||||||
|
return {
|
||||||
|
entry = function()
|
||||||
|
local h = cx.active.current.hovered
|
||||||
|
ya.manager_emit(h and h.cha.is_dir and "enter" or "open", { hovered = true })
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
keymap.manager.prepend_keymap = [
|
||||||
|
{
|
||||||
|
on = "l";
|
||||||
|
run = "plugin --sync smart-enter";
|
||||||
|
desc = "Enter the child directory, or open the file";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,8 +0,0 @@
|
||||||
{
|
|
||||||
programs.zellij = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
pane_frames = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -34,7 +34,7 @@ in {
|
||||||
"${home}/services/udiskie.nix"
|
"${home}/services/udiskie.nix"
|
||||||
|
|
||||||
"${home}/programs/niri"
|
"${home}/programs/niri"
|
||||||
"${home}/programs/ironbar"
|
"${home}/programs/ironbar.nix"
|
||||||
"${home}/programs/fuzzel.nix"
|
"${home}/programs/fuzzel.nix"
|
||||||
"${home}/programs/swaybg.nix"
|
"${home}/programs/swaybg.nix"
|
||||||
"${home}/programs/swaylock.nix"
|
"${home}/programs/swaylock.nix"
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
pkgs.noto-fonts-extra
|
pkgs.noto-fonts-extra
|
||||||
pkgs.intel-one-mono
|
pkgs.intel-one-mono
|
||||||
inputs.self.packages.${pkgs.system}.apple-emoji-color
|
inputs.self.packages.${pkgs.system}.apple-emoji-color
|
||||||
(pkgs.nerdfonts.override {fonts = ["IntelOneMono"];})
|
(pkgs.nerdfonts.override {fonts = ["IntelOneMono" "NerdFontsSymbolsOnly"];})
|
||||||
];
|
];
|
||||||
enableDefaultPackages = false;
|
enableDefaultPackages = false;
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultFonts = {
|
defaultFonts = {
|
||||||
serif = ["Noto Serif"];
|
serif = ["Noto Serif"];
|
||||||
sansSerif = ["Inter Medium"];
|
sansSerif = ["Inter Medium" "Symbols Nerd Font"];
|
||||||
monospace = ["IntoneMono NF"];
|
monospace = ["IntoneMono NF"];
|
||||||
emoji = ["Apple Color Emoji"];
|
emoji = ["Apple Color Emoji"];
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
{
|
{
|
||||||
services.logind = {
|
services.logind = {
|
||||||
lidSwitch = "suspend";
|
lidSwitch = "suspend";
|
||||||
|
extraConfig = ''
|
||||||
|
HandlePowerKey=ignore
|
||||||
|
HandlePowerKeyLongPress=poweroff
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,5 @@
|
||||||
{
|
{
|
||||||
services = {
|
services = {
|
||||||
logind.extraConfig = ''
|
|
||||||
HandlePowerKey=suspend
|
|
||||||
'';
|
|
||||||
|
|
||||||
power-profiles-daemon.enable = true;
|
power-profiles-daemon.enable = true;
|
||||||
|
|
||||||
# battery info
|
# battery info
|
||||||
|
|
Loading…
Reference in a new issue