refactor(nixos): extract Home Manager modules
This commit is contained in:
parent
2968f5396d
commit
ec23fb1431
|
@ -14,7 +14,7 @@ inputs.nixpkgs.lib.nixosSystem {
|
||||||
extraSpecialArgs = { inherit inputs desktop self username; };
|
extraSpecialArgs = { inherit inputs desktop self username; };
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
users."${username}" = import ./home-manager.nix;
|
users."${username}" = import ./home-manager;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
{ inputs, config, desktop, pkgs, self, username, ... }:
|
{ config, desktop, inputs, pkgs, self, username, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
desktop-config = import ./home-manager-desktop.nix { inherit config inputs pkgs; };
|
desktop-config = import ./desktop.nix { inherit config inputs pkgs; };
|
||||||
shared-config = import ../shared/home-manager.nix { inherit inputs pkgs self username; };
|
shared-config = import ../../shared/home-manager.nix { inherit inputs pkgs self username; };
|
||||||
shared-packages = import ../shared/home-manager-packages.nix { inherit inputs pkgs; };
|
shared-packages = import ../../shared/home-manager-packages.nix { inherit inputs pkgs; };
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = if desktop then [ desktop-config shared-config ] else [ shared-config ];
|
imports = if desktop then [ desktop-config shared-config ] else [ shared-config ];
|
13
system/nixos/home-manager/desktop.nix
Normal file
13
system/nixos/home-manager/desktop.nix
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
{ config, inputs, pkgs }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./modules/alacritty.nix
|
||||||
|
./modules/sway.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
xdg.configFile.wallpaper = {
|
||||||
|
source = ../../../config/wallpaper;
|
||||||
|
recursive = true;
|
||||||
|
};
|
||||||
|
}
|
28
system/nixos/home-manager/modules/alacritty.nix
Normal file
28
system/nixos/home-manager/modules/alacritty.nix
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
programs.alacritty = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
window.opacity = 0.9;
|
||||||
|
|
||||||
|
window.padding = {
|
||||||
|
x = 15;
|
||||||
|
y = 15;
|
||||||
|
};
|
||||||
|
|
||||||
|
font = {
|
||||||
|
size = 16.0;
|
||||||
|
|
||||||
|
bold.style = "Regular";
|
||||||
|
bolditalic.style = "Regular";
|
||||||
|
italic.style = "Regular";
|
||||||
|
normal.family = "AnonymicePro Nerd Font Mono";
|
||||||
|
|
||||||
|
offset.y = 12;
|
||||||
|
glyph_offset.y = 6;
|
||||||
|
};
|
||||||
|
|
||||||
|
shell = { program = "zsh"; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, inputs, pkgs }:
|
{ config, inputs, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
services.swayidle = {
|
services.swayidle = {
|
||||||
|
@ -34,6 +34,66 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
programs.i3status-rust = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
bars = {
|
||||||
|
default = {
|
||||||
|
blocks = [
|
||||||
|
{
|
||||||
|
block = "net";
|
||||||
|
format = " $ip ";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
block = "battery";
|
||||||
|
format = " $icon $percentage $time ";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
block = "cpu";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
block = "memory";
|
||||||
|
format = " $icon $mem_total_used_percents.eng(w:2) ";
|
||||||
|
format_alt = " $icon_swap $swap_used_percents.eng(w:2) ";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
block = "disk_space";
|
||||||
|
path = "/";
|
||||||
|
info_type = "available";
|
||||||
|
alert_unit = "GB";
|
||||||
|
interval = 20;
|
||||||
|
warning = 20.0;
|
||||||
|
alert = 10.0;
|
||||||
|
format = " $icon $available.eng(w:2) ";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
block = "time";
|
||||||
|
interval = 1;
|
||||||
|
format = " $timestamp.datetime(f:'%F %T') ";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
theme = {
|
||||||
|
theme = "plain";
|
||||||
|
overrides = {
|
||||||
|
critical_bg = "#222222";
|
||||||
|
good_bg = "#222222";
|
||||||
|
good_fg = "#ffffff";
|
||||||
|
idle_bg = "#222222";
|
||||||
|
idle_fg = "#ffffff";
|
||||||
|
info_bg = "#222222";
|
||||||
|
info_fg = "#ffffff";
|
||||||
|
separator_bg = "#222222";
|
||||||
|
warning_bg = "#222222";
|
||||||
|
warning_fg = "#ffffff";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
wayland.windowManager.sway = {
|
wayland.windowManager.sway = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
|
@ -55,7 +115,7 @@
|
||||||
|
|
||||||
fonts = {
|
fonts = {
|
||||||
names = [ "JetBrainsMono Nerd Font Mono" ];
|
names = [ "JetBrainsMono Nerd Font Mono" ];
|
||||||
size = 16.0;
|
size = 12.0;
|
||||||
};
|
};
|
||||||
|
|
||||||
statusCommand = "i3status-rs ~/.config/i3status-rust/config-default.toml";
|
statusCommand = "i3status-rs ~/.config/i3status-rust/config-default.toml";
|
||||||
|
@ -64,9 +124,9 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
gaps = {
|
gaps = {
|
||||||
inner = 10;
|
inner = 0;
|
||||||
smartBorders = "on";
|
smartBorders = "on";
|
||||||
smartGaps = true;
|
# smartGaps = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
input = {
|
input = {
|
||||||
|
@ -134,96 +194,4 @@
|
||||||
for_window [app_id="zoom" title="Zoom - Free Account"] floating disable
|
for_window [app_id="zoom" title="Zoom - Free Account"] floating disable
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.i3status-rust = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
bars = {
|
|
||||||
default = {
|
|
||||||
blocks = [
|
|
||||||
{
|
|
||||||
block = "net";
|
|
||||||
format = " $ip ";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
block = "battery";
|
|
||||||
format = " $icon $percentage $time ";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
block = "cpu";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
block = "memory";
|
|
||||||
format = " $icon $mem_total_used_percents.eng(w:2) ";
|
|
||||||
format_alt = " $icon_swap $swap_used_percents.eng(w:2) ";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
block = "disk_space";
|
|
||||||
path = "/";
|
|
||||||
info_type = "available";
|
|
||||||
alert_unit = "GB";
|
|
||||||
interval = 20;
|
|
||||||
warning = 20.0;
|
|
||||||
alert = 10.0;
|
|
||||||
format = " $icon $available.eng(w:2) ";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
block = "time";
|
|
||||||
interval = 1;
|
|
||||||
format = " $timestamp.datetime(f:'%F %T') ";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
settings = {
|
|
||||||
theme = {
|
|
||||||
theme = "plain";
|
|
||||||
overrides = {
|
|
||||||
critical_bg = "#222222";
|
|
||||||
good_bg = "#222222";
|
|
||||||
good_fg = "#ffffff";
|
|
||||||
idle_bg = "#222222";
|
|
||||||
idle_fg = "#ffffff";
|
|
||||||
info_bg = "#222222";
|
|
||||||
info_fg = "#ffffff";
|
|
||||||
separator_bg = "#222222";
|
|
||||||
warning_bg = "#222222";
|
|
||||||
warning_fg = "#ffffff";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.configFile.wallpaper = {
|
|
||||||
source = ../../config/wallpaper;
|
|
||||||
recursive = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.alacritty = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
settings = {
|
|
||||||
window.opacity = 0.9;
|
|
||||||
|
|
||||||
window.padding = {
|
|
||||||
x = 15;
|
|
||||||
y = 15;
|
|
||||||
};
|
|
||||||
|
|
||||||
font = {
|
|
||||||
size = 16.0;
|
|
||||||
|
|
||||||
bold.style = "Regular";
|
|
||||||
bolditalic.style = "Regular";
|
|
||||||
italic.style = "Regular";
|
|
||||||
normal.family = "IntoneMono Nerd Font Mono";
|
|
||||||
|
|
||||||
offset.y = 12;
|
|
||||||
glyph_offset.y = 6;
|
|
||||||
};
|
|
||||||
|
|
||||||
shell = { program = "zsh"; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
Loading…
Reference in a new issue