Compare commits

..

No commits in common. "b2326267ee07c8b848e5df2e661aabad0d1f7bf9" and "f381da581cd0b13efd09e65ae0e2c994d8ee3a00" have entirely different histories.

7 changed files with 258 additions and 11 deletions

View file

@ -1,6 +0,0 @@
_: {
programs.ags = {
enable = true;
configDir = ./js;
};
}

View file

94
home/ironbar/default.nix Normal file
View 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
View 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;
}
}

View file

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

View file

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