Compare commits
No commits in common. "b2326267ee07c8b848e5df2e661aabad0d1f7bf9" and "f381da581cd0b13efd09e65ae0e2c994d8ee3a00" have entirely different histories.
b2326267ee
...
f381da581c
7 changed files with 258 additions and 11 deletions
|
@ -1,6 +0,0 @@
|
|||
_: {
|
||||
programs.ags = {
|
||||
enable = true;
|
||||
configDir = ./js;
|
||||
};
|
||||
}
|
94
home/ironbar/default.nix
Normal file
94
home/ironbar/default.nix
Normal file
|
@ -0,0 +1,94 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
compileSCSS = name: source: "${pkgs.runCommandLocal name {} ''
|
||||
mkdir -p $out
|
||||
${lib.getExe pkgs.sassc} -t expanded '${source}' > $out/${name}.css
|
||||
''}/${name}.css";
|
||||
in {
|
||||
programs.ironbar = {
|
||||
enable = true;
|
||||
systemd = true;
|
||||
style = builtins.readFile (compileSCSS "style" ./style.scss);
|
||||
config = let
|
||||
nixlogo = rec {
|
||||
type = "custom";
|
||||
name = "nixlogo";
|
||||
class = name;
|
||||
bar = [
|
||||
{
|
||||
type = "image";
|
||||
src = "https://files.artturin.com/files/nixoscolorful.svg";
|
||||
size = 24;
|
||||
}
|
||||
];
|
||||
};
|
||||
music = {
|
||||
type = "music";
|
||||
player_type = "mpris";
|
||||
format = "{title} - {artist}";
|
||||
show_status_icon = false;
|
||||
icons.play = "";
|
||||
icons.pause = "";
|
||||
cover_image_size = 256;
|
||||
truncate = {
|
||||
mode = "end";
|
||||
max_length = 36;
|
||||
};
|
||||
};
|
||||
music_img = rec {
|
||||
type = "custom";
|
||||
name = "music-img";
|
||||
class = name;
|
||||
bar = [
|
||||
{
|
||||
type = "image";
|
||||
class = name + "-img";
|
||||
src = ''{{poll:2000:playerctl metadata mpris:artUrl}}'';
|
||||
}
|
||||
];
|
||||
};
|
||||
spacer = {
|
||||
type = "label";
|
||||
label = "|";
|
||||
};
|
||||
focused = {
|
||||
type = "focused";
|
||||
show_icon = true;
|
||||
icon_size = 24;
|
||||
truncate = {
|
||||
mode = "end";
|
||||
max_length = 24;
|
||||
};
|
||||
};
|
||||
uptime = rec {
|
||||
type = "sys_info";
|
||||
name = "uptime";
|
||||
class = name;
|
||||
format = [" {uptime}"];
|
||||
};
|
||||
sys-info = {
|
||||
type = "sys_info";
|
||||
format = [
|
||||
"{cpu_percent}% "
|
||||
"{memory_percent}% "
|
||||
"{net_up:enp2s0} {net_down:enp2s0}"
|
||||
];
|
||||
};
|
||||
tray = {type = "tray";};
|
||||
clock = {type = "clock";};
|
||||
in {
|
||||
monitors = {
|
||||
"DP-2" = {
|
||||
position = "top";
|
||||
anchor_to_edges = true;
|
||||
start = [nixlogo];
|
||||
center = [music spacer focused spacer uptime];
|
||||
end = [sys-info clock tray];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
150
home/ironbar/style.scss
Normal file
150
home/ironbar/style.scss
Normal file
|
@ -0,0 +1,150 @@
|
|||
$rosewater: #f5e0dc;
|
||||
$flamingo: #f2cdcd;
|
||||
$pink: #f5c2e7;
|
||||
$mauve: #cba6f7;
|
||||
$red: #f38ba8;
|
||||
$maroon: #eba0ac;
|
||||
$peach: #fab387;
|
||||
$yellow: #f9e2af;
|
||||
$green: #a6e3a1;
|
||||
$teal: #94e2d5;
|
||||
$sky: #89dceb;
|
||||
$sapphire: #74c7ec;
|
||||
$blue: #89b4fa;
|
||||
$lavender: #b4befe;
|
||||
|
||||
$text: #cdd6f4;
|
||||
$subtext1: #bac2de;
|
||||
$subtext0: #a6adc8;
|
||||
$overlay2: #9399b2;
|
||||
$overlay1: #7f849c;
|
||||
$overlay0: #6c7086;
|
||||
|
||||
$surface2: #585b70;
|
||||
$surface1: #45475a;
|
||||
$surface0: #313244;
|
||||
|
||||
$base: #1e1e2e;
|
||||
$mantle: #181825;
|
||||
$crust: #11111b;
|
||||
|
||||
* {
|
||||
all: unset;
|
||||
font-family: jost;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
color: $text;
|
||||
}
|
||||
|
||||
#bar {
|
||||
padding-top: 0.6rem;
|
||||
padding-left: 1.4rem;
|
||||
padding-right: 1.4rem;
|
||||
}
|
||||
|
||||
#bar {
|
||||
#start {
|
||||
background-color: $base;
|
||||
border-radius: 8px;
|
||||
border: 2px solid $sapphire;
|
||||
padding-left: 0.5rem;
|
||||
padding-right: 0.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
#bar {
|
||||
#center {
|
||||
background-color: $base;
|
||||
border-radius: 18px;
|
||||
border: 2px solid $pink;
|
||||
padding-left: 1rem;
|
||||
padding-right: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
#bar {
|
||||
#end {
|
||||
background-color: $base;
|
||||
border-radius: 8px;
|
||||
border: 2px solid $sapphire;
|
||||
padding-left: 0.5rem;
|
||||
padding-right: 0.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
.sys-info {
|
||||
padding: 0.8rem;
|
||||
}
|
||||
|
||||
.clock {
|
||||
padding-left: 0.8rem;
|
||||
}
|
||||
|
||||
.popup-clock {
|
||||
.calendar {
|
||||
background-color: $base;
|
||||
border-radius: 8px;
|
||||
border: 1px solid $sapphire;
|
||||
padding-left: 0.2rem;
|
||||
padding-right: 0.2rem;
|
||||
.header {
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
.calendar:selected {
|
||||
background-color: $overlay1;
|
||||
}
|
||||
}
|
||||
|
||||
.music {
|
||||
padding-right: 0.8rem;
|
||||
}
|
||||
|
||||
.popup-music {
|
||||
background-color: $base;
|
||||
border-radius: 8px;
|
||||
border: 1px solid $pink;
|
||||
padding-left: 0.2rem;
|
||||
padding-right: 0.2rem;
|
||||
.album-art {
|
||||
padding: 1.2rem;
|
||||
}
|
||||
.title {
|
||||
padding-top: 0.8rem;
|
||||
}
|
||||
.volume * {
|
||||
border-radius: 0;
|
||||
background-color: transparent;
|
||||
color: $base;
|
||||
}
|
||||
.controls * {
|
||||
border-radius: 0;
|
||||
background-color: transparent;
|
||||
color: $base;
|
||||
}
|
||||
}
|
||||
|
||||
.music-img {
|
||||
padding-right: 0.5rem;
|
||||
padding-left: 0.5rem;
|
||||
}
|
||||
|
||||
.focused {
|
||||
padding-left: 0.8rem;
|
||||
padding-right: 0.8rem;
|
||||
}
|
||||
.uptime {
|
||||
padding-left: 0.8rem;
|
||||
}
|
||||
|
||||
.tray {
|
||||
padding-left: 0.8rem;
|
||||
.item {
|
||||
padding: 0.3rem;
|
||||
}
|
||||
.popup {
|
||||
background-color: $base;
|
||||
border-radius: 8px;
|
||||
border: 1px solid $sapphire;
|
||||
}
|
||||
}
|
|
@ -20,25 +20,31 @@
|
|||
host all all all trust
|
||||
'';
|
||||
ensureUsers = [
|
||||
{
|
||||
name = "postgres";
|
||||
ensurePermissions = {
|
||||
"ALL TABLES IN SCHEMA public" = "ALL PRIVILEGES";
|
||||
};
|
||||
}
|
||||
{
|
||||
name = "hedgedoc";
|
||||
ensureDBOwnership = true;
|
||||
ensurePermissions."DATABASE hedgedoc" = "ALL PRIVILEGES";
|
||||
}
|
||||
{
|
||||
name = "forgejo";
|
||||
ensureDBOwnership = true;
|
||||
ensurePermissions."DATABASE forgejo" = "ALL PRIVILEGES";
|
||||
}
|
||||
{
|
||||
name = "grafana";
|
||||
ensureDBOwnership = true;
|
||||
ensurePermissions."DATABASE grafana" = "ALL PRIVILEGES";
|
||||
}
|
||||
{
|
||||
name = "authelia";
|
||||
ensureDBOwnership = true;
|
||||
ensurePermissions."DATABASE authelia" = "ALL PRIVILEGES";
|
||||
}
|
||||
{
|
||||
name = "vaultwarden";
|
||||
ensureDBOwnership = true;
|
||||
ensurePermissions."DATABASE vaultwarden" = "ALL PRIVILEGES";
|
||||
}
|
||||
];
|
||||
ensureDatabases = [
|
||||
|
|
|
@ -3,9 +3,11 @@ inputs: let
|
|||
sopsModule = inputs.sops-nix.nixosModules.sops;
|
||||
hmModule = inputs.home-manager.nixosModules.home-manager;
|
||||
hyprlandModule = inputs.hyprland.homeManagerModules.default;
|
||||
ironbarModule = inputs.ironbar.homeManagerModules.default;
|
||||
nix-index-Module = inputs.nix-index-database.hmModules.nix-index;
|
||||
anyrunModule = inputs.anyrun.homeManagerModules.default;
|
||||
agsModule = inputs.ags.homeManagerModules.default;
|
||||
stylixModule = inputs.stylix.homeManagerModules.stylix;
|
||||
inherit (inputs.nixpkgs.lib) nixosSystem;
|
||||
in {
|
||||
tsuki = nixosSystem {
|
||||
|
@ -24,6 +26,7 @@ in {
|
|||
imports = [
|
||||
./tsuki/home.nix
|
||||
hyprlandModule
|
||||
ironbarModule
|
||||
nix-index-Module
|
||||
anyrunModule
|
||||
agsModule
|
||||
|
|
Loading…
Reference in a new issue