Compare commits

...

6 commits

7 changed files with 243 additions and 151 deletions

View file

@ -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"
}, },

View file

@ -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 = [

111
home/programs/ironbar.nix Normal file
View 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;
}
'';
};
}

View file

@ -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;
'';
};
}

64
home/programs/swaync.nix Normal file
View 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"];
};
}

View file

@ -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"

View file

@ -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"];
}; };