fix: format
This commit is contained in:
54
flake.nix
54
flake.nix
@@ -6,55 +6,67 @@
|
||||
unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager/release-25.05";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
url = "github:nix-community/home-manager/release-25.05";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
nix-colors.url = "github:misterio77/nix-colors";
|
||||
|
||||
nix-colors.url = "github:misterio77/nix-colors";
|
||||
|
||||
sops-nix = {
|
||||
url = "github:Mic92/sops-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
url = "github:Mic92/sops-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
lanzaboote = {
|
||||
url = "github:nix-community/lanzaboote/v0.4.2";
|
||||
url = "github:nix-community/lanzaboote/v0.4.2";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
|
||||
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
||||
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, unstable, home-manager, nix-colors, sops-nix, lanzaboote, nixos-hardware, ... }@inputs:
|
||||
outputs =
|
||||
{
|
||||
self,
|
||||
nixpkgs,
|
||||
unstable,
|
||||
home-manager,
|
||||
nix-colors,
|
||||
sops-nix,
|
||||
lanzaboote,
|
||||
nixos-hardware,
|
||||
...
|
||||
}@inputs:
|
||||
let
|
||||
system = "x86_64-linux";
|
||||
in {
|
||||
in
|
||||
{
|
||||
|
||||
# legolas
|
||||
# legolas
|
||||
nixosConfigurations.legolas = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
specialArgs = { inherit inputs; };
|
||||
modules = [
|
||||
./hosts/legolas/configuration.nix
|
||||
|
||||
home-manager.nixosModules.home-manager {
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users.gunalx = import ./home/gunalx.nix;
|
||||
home-manager.backupFileExtension = "bac";
|
||||
home-manager.extraSpecialArgs = {inherit nix-colors inputs;};
|
||||
home-manager.extraSpecialArgs = { inherit nix-colors inputs; };
|
||||
}
|
||||
|
||||
sops-nix.nixosModules.sops
|
||||
|
||||
lanzaboote.nixosModules.lanzaboote
|
||||
|
||||
nixos-hardware.nixosModules.dell-xps-13-9370
|
||||
|
||||
|
||||
sops-nix.nixosModules.sops
|
||||
|
||||
lanzaboote.nixosModules.lanzaboote
|
||||
|
||||
nixos-hardware.nixosModules.dell-xps-13-9370
|
||||
|
||||
];
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -12,13 +12,13 @@
|
||||
filter_mode_shell_up_key_binding = "directory";
|
||||
|
||||
# UI
|
||||
max_preview_height = 2;
|
||||
show_help = true;
|
||||
max_preview_height = 2;
|
||||
show_help = true;
|
||||
prefers_reduced_motion = true;
|
||||
|
||||
# History storage
|
||||
secrets_filter = true;
|
||||
enter_accept = true;
|
||||
enter_accept = true;
|
||||
|
||||
# Sync v2
|
||||
sync = {
|
||||
@@ -28,9 +28,25 @@
|
||||
# Stats
|
||||
stats = {
|
||||
common_subcommands = [
|
||||
"apt" "cargo" "composer" "dnf" "docker" "git" "go" "ip"
|
||||
"kubectl" "nix" "nmcli" "npm" "pecl" "pnpm" "podman"
|
||||
"port" "systemctl" "tmux" "yarn"
|
||||
"apt"
|
||||
"cargo"
|
||||
"composer"
|
||||
"dnf"
|
||||
"docker"
|
||||
"git"
|
||||
"go"
|
||||
"ip"
|
||||
"kubectl"
|
||||
"nix"
|
||||
"nmcli"
|
||||
"npm"
|
||||
"pecl"
|
||||
"pnpm"
|
||||
"podman"
|
||||
"port"
|
||||
"systemctl"
|
||||
"tmux"
|
||||
"yarn"
|
||||
];
|
||||
common_prefix = [ "sudo" ];
|
||||
};
|
||||
@@ -47,7 +63,11 @@
|
||||
|
||||
# Search
|
||||
search = {
|
||||
filters = [ "directory" "host" "session" ];
|
||||
filters = [
|
||||
"directory"
|
||||
"host"
|
||||
"session"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,28 +1,45 @@
|
||||
{ pkgs, lib, config, ... }:
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
programs.bash = {
|
||||
enable = true;
|
||||
shellAliases = {
|
||||
"rebuild" = "sudo nixos-rebuild switch --no-write-lock-file --flake git+https://github.com/adrlau/nix-dotfiles.git -L --impure";
|
||||
shellAliases = {
|
||||
"rebuild" =
|
||||
"sudo nixos-rebuild switch --no-write-lock-file --flake git+https://github.com/adrlau/nix-dotfiles.git -L --impure";
|
||||
|
||||
"," = "comma ";
|
||||
"," = "comma ";
|
||||
|
||||
"gst" = "git status";
|
||||
"gsw" = "git switch";
|
||||
"gcm" = "git commit -m ";
|
||||
"gca" = "git commit --amend";
|
||||
"gaa" = "git add -A";
|
||||
"gb" = "git branch";
|
||||
"gst" = "git status";
|
||||
"gsw" = "git switch";
|
||||
"gcm" = "git commit -m ";
|
||||
"gca" = "git commit --amend";
|
||||
"gaa" = "git add -A";
|
||||
"gb" = "git branch";
|
||||
|
||||
"sl" = "eza";
|
||||
"ls" = "eza";
|
||||
"lls" = "ls";
|
||||
"la" = "eza -la";
|
||||
"tree" = "eza -T";
|
||||
"neofetch" = "fastfetch";
|
||||
"htop" = "btm";
|
||||
"sl" = "eza";
|
||||
"ls" = "eza";
|
||||
"lls" = "ls";
|
||||
"la" = "eza -la";
|
||||
"tree" = "eza -T";
|
||||
"neofetch" = "fastfetch";
|
||||
"htop" = "btm";
|
||||
};
|
||||
historyControl = ["ignoredups" "ignorespace" "erasedups"];
|
||||
historyIgnore = [ "ls" "cd" "exit" "cd .." ".." "la"];
|
||||
historyControl = [
|
||||
"ignoredups"
|
||||
"ignorespace"
|
||||
"erasedups"
|
||||
];
|
||||
historyIgnore = [
|
||||
"ls"
|
||||
"cd"
|
||||
"exit"
|
||||
"cd .."
|
||||
".."
|
||||
"la"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{ pkgs, config, nix-colors, ... }:
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
nix-colors,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
nix-colors-lib = nix-colors.lib.contrib { inherit pkgs; };
|
||||
@@ -22,7 +27,8 @@ let
|
||||
lighterTeal = "2C7A6A";
|
||||
lightTeal = "B0E8DA";
|
||||
|
||||
in{
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
nix-colors.homeManagerModules.default
|
||||
];
|
||||
@@ -56,15 +62,13 @@ in{
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme = {
|
||||
name = "Adwaita-dark";
|
||||
package = pkgs.gnome-themes-extra;
|
||||
};
|
||||
enable = true;
|
||||
theme = {
|
||||
name = "Adwaita-dark";
|
||||
package = pkgs.gnome-themes-extra;
|
||||
};
|
||||
};
|
||||
|
||||
qt = {
|
||||
enable = true;
|
||||
@@ -78,4 +82,3 @@ in{
|
||||
];
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1,53 +1,52 @@
|
||||
{ pkgs, lib, config, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
foot
|
||||
];
|
||||
|
||||
programs.foot.enable = true;
|
||||
programs.foot.settings = {
|
||||
|
||||
main = {
|
||||
term = "xterm-256color";
|
||||
font = "0xproto:size=14";
|
||||
#dpi-aware = "yes";
|
||||
};
|
||||
mouse = {
|
||||
hide-when-typing = "yes";
|
||||
};
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
foot
|
||||
];
|
||||
|
||||
programs.foot.enable = true;
|
||||
programs.foot.settings = {
|
||||
|
||||
colors = {
|
||||
alpha = "0.7";
|
||||
foreground = "${config.colorScheme.palette.base05}";
|
||||
background = "${config.colorScheme.palette.base00}";
|
||||
main = {
|
||||
term = "xterm-256color";
|
||||
font = "0xproto:size=14";
|
||||
#dpi-aware = "yes";
|
||||
};
|
||||
mouse = {
|
||||
hide-when-typing = "yes";
|
||||
};
|
||||
|
||||
colors = {
|
||||
alpha = "0.7";
|
||||
foreground = "${config.colorScheme.palette.base05}";
|
||||
background = "${config.colorScheme.palette.base00}";
|
||||
|
||||
regular0 = "${config.colorScheme.palette.base00}";
|
||||
regular1 = "${config.colorScheme.palette.base08}";
|
||||
regular2 = "${config.colorScheme.palette.base0B}";
|
||||
regular3 = "${config.colorScheme.palette.base0A}";
|
||||
regular4 = "${config.colorScheme.palette.base0D}";
|
||||
regular5 = "${config.colorScheme.palette.base0E}";
|
||||
regular6 = "${config.colorScheme.palette.base0C}";
|
||||
regular7 = "${config.colorScheme.palette.base05}";
|
||||
|
||||
bright0 = "${config.colorScheme.palette.base03}";
|
||||
bright1 = "${config.colorScheme.palette.base08}";
|
||||
bright2 = "${config.colorScheme.palette.base0B}";
|
||||
bright3 = "${config.colorScheme.palette.base0A}";
|
||||
bright4 = "${config.colorScheme.palette.base0D}";
|
||||
bright5 = "${config.colorScheme.palette.base0E}";
|
||||
bright6 = "${config.colorScheme.palette.base0C}";
|
||||
bright7 = "${config.colorScheme.palette.base07}";
|
||||
selection-foreground = "${config.colorScheme.palette.base00}";
|
||||
selection-background = "${config.colorScheme.palette.base0A}";
|
||||
};
|
||||
|
||||
regular0 = "${config.colorScheme.palette.base00}";
|
||||
regular1 = "${config.colorScheme.palette.base08}";
|
||||
regular2 = "${config.colorScheme.palette.base0B}";
|
||||
regular3 = "${config.colorScheme.palette.base0A}";
|
||||
regular4 = "${config.colorScheme.palette.base0D}";
|
||||
regular5 = "${config.colorScheme.palette.base0E}";
|
||||
regular6 = "${config.colorScheme.palette.base0C}";
|
||||
regular7 = "${config.colorScheme.palette.base05}";
|
||||
|
||||
bright0 = "${config.colorScheme.palette.base03}";
|
||||
bright1 = "${config.colorScheme.palette.base08}";
|
||||
bright2 = "${config.colorScheme.palette.base0B}";
|
||||
bright3 = "${config.colorScheme.palette.base0A}";
|
||||
bright4 = "${config.colorScheme.palette.base0D}";
|
||||
bright5 = "${config.colorScheme.palette.base0E}";
|
||||
bright6 = "${config.colorScheme.palette.base0C}";
|
||||
bright7 = "${config.colorScheme.palette.base07}";
|
||||
selection-foreground = "${config.colorScheme.palette.base00}";
|
||||
selection-background = "${config.colorScheme.palette.base0A}";
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
{ config, pkgs, lib, inputs, ... }:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
palette = config.colorScheme.palette;
|
||||
@@ -12,7 +18,7 @@ in
|
||||
settings = {
|
||||
main = {
|
||||
terminal = "${pkgs.foot}/bin/foot";
|
||||
layer = "overlay";
|
||||
layer = "overlay";
|
||||
use-bold = true;
|
||||
fields = "filename,name,keywords,exec,comment,generic";
|
||||
tabs = "4";
|
||||
@@ -22,13 +28,13 @@ in
|
||||
horizontal-pad = 50; # Horizontal padding
|
||||
vertical-pad = 15; # Vertical padding
|
||||
|
||||
font = "monospace:size=16";
|
||||
font = "monospace:size=16";
|
||||
|
||||
anchor = "top";
|
||||
y-margin = 240;
|
||||
icons-enabled = true;
|
||||
# match-mode = "fzf";
|
||||
# image-size-ratio = 0.5;
|
||||
icons-enabled = true;
|
||||
# match-mode = "fzf";
|
||||
# image-size-ratio = 0.5;
|
||||
};
|
||||
colors = {
|
||||
background = "${hex palette.base00}ff";
|
||||
@@ -44,8 +50,8 @@ in
|
||||
border = "${hex palette.base03}ff";
|
||||
};
|
||||
border = {
|
||||
radius = 20;
|
||||
width = 3;
|
||||
radius = 20;
|
||||
width = 3;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
{ pkgs, lib, config, ... }:
|
||||
{
|
||||
programs.git = {
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
programs.git = {
|
||||
enable = true;
|
||||
extraConfig = {
|
||||
pull.rebase = true;
|
||||
|
||||
@@ -13,15 +13,14 @@
|
||||
./waybar.nix
|
||||
./wlogout.nix
|
||||
./niri.nix
|
||||
|
||||
#./wallpapers.nix
|
||||
|
||||
#applications
|
||||
./mako.nix
|
||||
./foot.nix
|
||||
#./mako.nix
|
||||
#./fcitx5.nix
|
||||
];
|
||||
|
||||
#./fcitx5.nix
|
||||
|
||||
];
|
||||
|
||||
programs.nix-index = {
|
||||
enableBashIntegration = true;
|
||||
@@ -39,4 +38,3 @@
|
||||
|
||||
home.stateVersion = "25.05";
|
||||
}
|
||||
|
||||
|
||||
50
home/mako.nix
Normal file
50
home/mako.nix
Normal file
@@ -0,0 +1,50 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
let
|
||||
palette = config.colorscheme.palette;
|
||||
in
|
||||
{
|
||||
services.mako = {
|
||||
enable = true; # Turn on mako
|
||||
package = pkgs.mako; # Which package to use
|
||||
|
||||
# Colors (from your colorscheme)
|
||||
settings.background-color = "#${palette.base00}FF"; # popup background
|
||||
settings.text-color = "#${palette.base05}FF"; # popup text
|
||||
settings.border-color = "#${palette.base03}FF"; # popup border
|
||||
settings.progress-color = "over #${palette.base0A}FF"; # progress bar
|
||||
|
||||
# Placement & layering
|
||||
settings.anchor = "top-right"; # corner on screen
|
||||
settings.layer = "overlay"; # appear above fullscreen
|
||||
|
||||
# Geometry
|
||||
settings.width = 320; # px
|
||||
settings.height = 120; # max px
|
||||
settings.margin = "10"; # all edges
|
||||
settings.padding = "8"; # all edges
|
||||
settings.border-size = 2; # px
|
||||
settings.border-radius = 12; # px
|
||||
|
||||
# Font & icons
|
||||
settings.font = "monospace 10"; # Pango font
|
||||
settings.icons = true; # show icons
|
||||
settings.max-icon-size = 48; # px
|
||||
|
||||
# Behavior & timing
|
||||
settings.default-timeout = 5000; # ms; 0 = no timeout
|
||||
settings.ignore-timeout = true; # use defaultTimeout always
|
||||
settings.actions = true; # clickable actions
|
||||
settings.max-visible = 5; # simultaneous popups
|
||||
settings.sort = "-time"; # newest first
|
||||
settings.group-by = "app-name"; # grouping criteria
|
||||
settings.markup = true; # enable Pango markup
|
||||
|
||||
settings."actionable=true" = {
|
||||
default-timeout = 15000;
|
||||
border-radius = 24;
|
||||
border-color = "#${palette.base08}FF";
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
1183
home/niri.nix
1183
home/niri.nix
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,9 @@
|
||||
{ pkgs, lib, config, ... }:
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
];
|
||||
@@ -8,7 +13,7 @@
|
||||
ssh-askpass-fullscreen
|
||||
sshfs
|
||||
];
|
||||
|
||||
|
||||
services.ssh-agent.enable = true;
|
||||
|
||||
programs.ssh = {
|
||||
@@ -24,25 +29,23 @@
|
||||
};
|
||||
|
||||
"*.pvv.ntnu.no" = {
|
||||
user="adriangl";
|
||||
user = "adriangl";
|
||||
};
|
||||
|
||||
"*.ntnu.no !login.pvv.ntnu.no" = {
|
||||
user="adriangl";
|
||||
proxyJump="login.pvv.ntnu.no";
|
||||
user = "adriangl";
|
||||
proxyJump = "login.pvv.ntnu.no";
|
||||
};
|
||||
|
||||
|
||||
"snotra" = {
|
||||
user="adriangl";
|
||||
proxyJump="adriangl@login.pvv.ntnu.no";
|
||||
hostname="snotra.idi.ntnu.no";
|
||||
user = "adriangl";
|
||||
proxyJump = "adriangl@login.pvv.ntnu.no";
|
||||
hostname = "snotra.idi.ntnu.no";
|
||||
};
|
||||
|
||||
|
||||
#pbsds
|
||||
"garp.pbsds.net" = {
|
||||
user="adrlau";
|
||||
user = "adrlau";
|
||||
proxyJump = "login.pvv.ntnu.no";
|
||||
extraOptions = {
|
||||
StrictHostKeyChecking = "no";
|
||||
@@ -50,7 +53,7 @@
|
||||
};
|
||||
};
|
||||
"bolle.pbsds.net" = {
|
||||
user="adrlau";
|
||||
user = "adrlau";
|
||||
proxyJump = "login.pvv.ntnu.no";
|
||||
extraOptions = {
|
||||
StrictHostKeyChecking = "no";
|
||||
@@ -58,43 +61,39 @@
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
|
||||
#pvv
|
||||
"pvv" = {
|
||||
user="adriangl";
|
||||
hostname="login.pvv.ntnu.no";
|
||||
user = "adriangl";
|
||||
hostname = "login.pvv.ntnu.no";
|
||||
};
|
||||
"pvv2" = {
|
||||
user="adriangl";
|
||||
hostname="login2.pvv.ntnu.no";
|
||||
user = "adriangl";
|
||||
hostname = "login2.pvv.ntnu.no";
|
||||
};
|
||||
|
||||
#home
|
||||
"aragon" = {
|
||||
port = 6969;
|
||||
hostname="100.74.34.149";
|
||||
hostname = "100.74.34.149";
|
||||
};
|
||||
|
||||
"galadriel" = {
|
||||
port = 6969;
|
||||
hostname="100.84.215.84";
|
||||
hostname = "100.84.215.84";
|
||||
};
|
||||
|
||||
|
||||
"gandalf" = {
|
||||
port = 6969;
|
||||
hostname="100.124.183.16";
|
||||
hostname = "100.124.183.16";
|
||||
};
|
||||
|
||||
"elrond" = {
|
||||
port = 6969;
|
||||
hostname="100.101.17.39 ";
|
||||
hostname = "100.101.17.39 ";
|
||||
};
|
||||
|
||||
|
||||
};
|
||||
|
||||
extraConfig = "";
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,11 @@
|
||||
{ pkgs, inputs, lib, config, nix-colors, ... }:
|
||||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
lib,
|
||||
config,
|
||||
nix-colors,
|
||||
...
|
||||
}:
|
||||
let
|
||||
palette = config.colorScheme.palette;
|
||||
in
|
||||
@@ -8,35 +15,34 @@ in
|
||||
package = pkgs.swaylock-effects;
|
||||
settings = {
|
||||
# screen & indicator
|
||||
color = "#${palette.base00}AA"; # --color
|
||||
screenshots = true; # --screenshots
|
||||
fade-in = 0.1; # --fade-in
|
||||
scaling = "fill"; # e.g. --scaling=fill
|
||||
color = "#${palette.base00}AA"; # --color
|
||||
screenshots = true; # --screenshots
|
||||
fade-in = 0.1; # --fade-in
|
||||
scaling = "fill"; # e.g. --scaling=fill
|
||||
|
||||
# authentication grace
|
||||
grace = 3; # --grace
|
||||
submit-on-touch = true; # --submit-on-touch
|
||||
grace = 3; # --grace
|
||||
submit-on-touch = true; # --submit-on-touch
|
||||
|
||||
# clock
|
||||
clock = true; # --clock
|
||||
clock = true; # --clock
|
||||
|
||||
# indicator visuals
|
||||
indicator-idle-visible = true; # --indicator-idle-visible
|
||||
indicator-radius = 100; # --indicator-radius
|
||||
indicator-thickness = 7; # --indicator-thickness
|
||||
indicator-idle-visible = true; # --indicator-idle-visible
|
||||
indicator-radius = 100; # --indicator-radius
|
||||
indicator-thickness = 7; # --indicator-thickness
|
||||
|
||||
# indicator colors
|
||||
ring-color = "#${palette.base0D}C0"; # --ring-color
|
||||
key-hl-color = "#${palette.base0E}C0"; # --key-hl-color
|
||||
text-color = "#${palette.base05}FF"; # --text-color
|
||||
inside-color = "#${palette.base02}CC"; # --inside-color
|
||||
line-color = "#${palette.base01}99"; # --line-color
|
||||
separator-color = "#${palette.base01}99"; # --separator-color
|
||||
ring-color = "#${palette.base0D}C0"; # --ring-color
|
||||
key-hl-color = "#${palette.base0E}C0"; # --key-hl-color
|
||||
text-color = "#${palette.base05}FF"; # --text-color
|
||||
inside-color = "#${palette.base02}CC"; # --inside-color
|
||||
line-color = "#${palette.base01}99"; # --line-color
|
||||
separator-color = "#${palette.base01}99"; # --separator-color
|
||||
|
||||
# effects
|
||||
effect-scale = 0.6; # --effect-scale
|
||||
effect-blur = "7x3"; # --effect-blur
|
||||
effect-scale = 0.6; # --effect-scale
|
||||
effect-blur = "7x3"; # --effect-blur
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -8,14 +8,12 @@ let
|
||||
names = lib.attrNames (builtins.readDir wallpaperSrc);
|
||||
|
||||
# For each name, produce an attrset mapping
|
||||
wallpaperFiles = map (name:
|
||||
{
|
||||
# quoted string keys are valid attribute names
|
||||
"Pictures/wallpapers/${name}" = {
|
||||
source = "${wallpaperSrc}/${name}";
|
||||
};
|
||||
}
|
||||
) names;
|
||||
wallpaperFiles = map (name: {
|
||||
# quoted string keys are valid attribute names
|
||||
"Pictures/wallpapers/${name}" = {
|
||||
source = "${wallpaperSrc}/${name}";
|
||||
};
|
||||
}) names;
|
||||
in
|
||||
{
|
||||
# Merge them all under home.file
|
||||
|
||||
314
home/waybar.nix
314
home/waybar.nix
@@ -1,4 +1,10 @@
|
||||
{ config, pkgs, lib, inputs, ... }:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
# Import Base16 palette & hex→RGB helper
|
||||
@@ -6,17 +12,19 @@ let
|
||||
inherit (config.colorscheme) palette;
|
||||
|
||||
# Build "rgba(r,g,b,a)" strings
|
||||
toRGBA = colour: alpha:
|
||||
let rgb = hexToRGBString "," (lib.removePrefix "#" colour);
|
||||
in "rgba(${rgb},${alpha})";
|
||||
toRGBA =
|
||||
colour: alpha:
|
||||
let
|
||||
rgb = hexToRGBString "," (lib.removePrefix "#" colour);
|
||||
in
|
||||
"rgba(${rgb},${alpha})";
|
||||
in
|
||||
{
|
||||
|
||||
home.packages = with pkgs; [
|
||||
fuzzel
|
||||
wvkbd
|
||||
];
|
||||
|
||||
home.packages = with pkgs; [
|
||||
fuzzel
|
||||
wvkbd
|
||||
];
|
||||
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
@@ -25,167 +33,167 @@ in
|
||||
# Single-bar JSON config
|
||||
settings = [
|
||||
(builtins.fromJSON ''
|
||||
{
|
||||
"layer": "top",
|
||||
"height": 36,
|
||||
"spacing": 2,
|
||||
"tray-position": "right",
|
||||
"tray-all-outputs": true,
|
||||
"modules-left": ["custom/overview", "custom/launcher", "custom/keyboard", "sway/workspaces", "niri/workspaces"],
|
||||
"modules-center": ["niri/window"],
|
||||
"modules-right": [
|
||||
"idle_inhibitor", "backlight", "pulseaudio", "keyboard-state",
|
||||
"network", "cpu", "memory", "temperature", "battery",
|
||||
"power-profiles-daemon", "clock", "tray", "custom/power"
|
||||
],
|
||||
{
|
||||
"layer": "top",
|
||||
"height": 36,
|
||||
"spacing": 2,
|
||||
"tray-position": "right",
|
||||
"tray-all-outputs": true,
|
||||
"modules-left": ["custom/overview", "custom/launcher", "custom/keyboard", "sway/workspaces", "niri/workspaces"],
|
||||
"modules-center": ["niri/window"],
|
||||
"modules-right": [
|
||||
"idle_inhibitor", "backlight", "pulseaudio", "keyboard-state",
|
||||
"network", "cpu", "memory", "temperature", "battery",
|
||||
"power-profiles-daemon", "clock", "tray", "custom/power"
|
||||
],
|
||||
|
||||
"custom/launcher": {
|
||||
"format": " ",
|
||||
"on-click": "pkill fuzzel || fuzzel"
|
||||
},
|
||||
"custom/launcher": {
|
||||
"format": " ",
|
||||
"on-click": "pkill fuzzel || fuzzel"
|
||||
},
|
||||
|
||||
"sway/workspaces": {
|
||||
"format": "{index}: {name} - {icon}",
|
||||
"format-icons": {
|
||||
"focused":"","active":"","default":""
|
||||
},
|
||||
"all-outputs": false,
|
||||
"current-only": false,
|
||||
"persistent": true,
|
||||
"on-click": "swaymsg workspace number {index}"
|
||||
},
|
||||
"sway/workspaces": {
|
||||
"format": "{index}: {name} - {icon}",
|
||||
"format-icons": {
|
||||
"focused":"","active":"","default":""
|
||||
},
|
||||
"all-outputs": false,
|
||||
"current-only": false,
|
||||
"persistent": true,
|
||||
"on-click": "swaymsg workspace number {index}"
|
||||
},
|
||||
|
||||
"niri/workspaces": {
|
||||
"format": "{index}: {name} - {icon}",
|
||||
"format-icons": {
|
||||
"focused":"","active":"","default":""
|
||||
},
|
||||
"all-outputs": false,
|
||||
"current-only": false,
|
||||
"persistent": true,
|
||||
"on-click": "niri msg workspace {index}"
|
||||
},
|
||||
"niri/workspaces": {
|
||||
"format": "{index}: {name} - {icon}",
|
||||
"format-icons": {
|
||||
"focused":"","active":"","default":""
|
||||
},
|
||||
"all-outputs": false,
|
||||
"current-only": false,
|
||||
"persistent": true,
|
||||
"on-click": "niri msg workspace {index}"
|
||||
},
|
||||
|
||||
"custom/overview": {
|
||||
"format": "",
|
||||
"tooltip": "Toggle Overview",
|
||||
"on-click": "niri msg action toggle-overview"
|
||||
},
|
||||
"custom/keyboard": {
|
||||
"format": "",
|
||||
"tooltip": "On-Screen Keyboard",
|
||||
"on-click": "pkill wvkbd-mobintl || wvkbd-mobintl"
|
||||
},
|
||||
"custom/overview": {
|
||||
"format": "",
|
||||
"tooltip": "Toggle Overview",
|
||||
"on-click": "niri msg action toggle-overview"
|
||||
},
|
||||
"custom/keyboard": {
|
||||
"format": "",
|
||||
"tooltip": "On-Screen Keyboard",
|
||||
"on-click": "pkill wvkbd-mobintl || wvkbd-mobintl"
|
||||
},
|
||||
|
||||
|
||||
"niri/window": {
|
||||
"format": "{title}"
|
||||
},
|
||||
"niri/window": {
|
||||
"format": "{title}"
|
||||
},
|
||||
|
||||
"idle_inhibitor": {
|
||||
"format": "{icon}",
|
||||
"format-icons": { "activated":"","deactivated":"" }
|
||||
},
|
||||
"idle_inhibitor": {
|
||||
"format": "{icon}",
|
||||
"format-icons": { "activated":"","deactivated":"" }
|
||||
},
|
||||
|
||||
"backlight": {
|
||||
"format": "{percent}% {icon}",
|
||||
"format-icons": ["","","","","","","","",""]
|
||||
},
|
||||
"backlight": {
|
||||
"format": "{percent}% {icon}",
|
||||
"format-icons": ["","","","","","","","",""]
|
||||
},
|
||||
|
||||
"pulseaudio": {
|
||||
"format": "{volume}% {icon}",
|
||||
"format-muted": "",
|
||||
"format-icons": { "default": ["","",""] },
|
||||
"on-click": "pavucontrol"
|
||||
},
|
||||
"pulseaudio": {
|
||||
"format": "{volume}% {icon}",
|
||||
"format-muted": "",
|
||||
"format-icons": { "default": ["","",""] },
|
||||
"on-click": "pavucontrol"
|
||||
},
|
||||
|
||||
"keyboard-state": {
|
||||
"numlock": true,
|
||||
"capslock": true,
|
||||
"format": "{icon}",
|
||||
"format-icons": { "locked":"","unlocked":"" }
|
||||
},
|
||||
"keyboard-state": {
|
||||
"numlock": true,
|
||||
"capslock": true,
|
||||
"format": "{icon}",
|
||||
"format-icons": { "locked":"","unlocked":"" }
|
||||
},
|
||||
|
||||
"network": {
|
||||
"format-wifi": " {essid} ({signalStrength}%)",
|
||||
"format-ethernet": " {ipaddr}",
|
||||
"format-disconnected": "⚠ Disconnected",
|
||||
"format-alt": " {ipaddr}/{cidr}",
|
||||
"tooltip": true,
|
||||
"tooltip-format-wifi": "<span color='#${palette.base0C}'></span> <span color='#${palette.base05}'>WiFi</span>\n<span color='#${palette.base0A}'>SSID:</span> <span color='#${palette.base06}'>{essid}</span>\n<span color='#${palette.base0A}'>Interface:</span> <span color='#${palette.base04}'>{ifname}</span>\n<span color='#${palette.base0A}'>IP:</span> <span color='#${palette.base06}'>{ipaddr}</span>\n<span color='#${palette.base0A}'>IPv6:</span> <span color='#${palette.base04}'>{ipaddr6}</span>\n<span color='#${palette.base0A}'>Gateway:</span> <span color='#${palette.base04}'>{gwaddr}</span>\n<span color='#${palette.base0A}'>Frequency:</span> <span color='#${palette.base04}'>{frequency} MHz</span>\n<span color='#${palette.base0A}'>Signal:</span> <span color='#${palette.base0B}'>{signalStrength}%</span> <span color='#${palette.base04}'>({signaldBm} dBm)</span>",
|
||||
"network": {
|
||||
"format-wifi": " {essid} ({signalStrength}%)",
|
||||
"format-ethernet": " {ipaddr}",
|
||||
"format-disconnected": "⚠ Disconnected",
|
||||
"format-alt": " {ipaddr}/{cidr}",
|
||||
"tooltip": true,
|
||||
"tooltip-format-wifi": "<span color='#${palette.base0C}'></span> <span color='#${palette.base05}'>WiFi</span>\n<span color='#${palette.base0A}'>SSID:</span> <span color='#${palette.base06}'>{essid}</span>\n<span color='#${palette.base0A}'>Interface:</span> <span color='#${palette.base04}'>{ifname}</span>\n<span color='#${palette.base0A}'>IP:</span> <span color='#${palette.base06}'>{ipaddr}</span>\n<span color='#${palette.base0A}'>IPv6:</span> <span color='#${palette.base04}'>{ipaddr6}</span>\n<span color='#${palette.base0A}'>Gateway:</span> <span color='#${palette.base04}'>{gwaddr}</span>\n<span color='#${palette.base0A}'>Frequency:</span> <span color='#${palette.base04}'>{frequency} MHz</span>\n<span color='#${palette.base0A}'>Signal:</span> <span color='#${palette.base0B}'>{signalStrength}%</span> <span color='#${palette.base04}'>({signaldBm} dBm)</span>",
|
||||
|
||||
"tooltip-format-ethernet": "<span color='#${palette.base0C}'></span> <span color='#${palette.base05}'>Ethernet</span>\n<span color='#${palette.base0A}'>Interface:</span> <span color='#${palette.base04}'>{ifname}</span>\n<span color='#${palette.base0A}'>IP:</span> <span color='#${palette.base06}'>{ipaddr}</span>\n<span color='#${palette.base0A}'>IPv6:</span> <span color='#${palette.base04}'>{ipaddr6}</span>\n<span color='#${palette.base0A}'>Gateway:</span> <span color='#${palette.base04}'>{gwaddr}</span>\n<span color='#${palette.base0A}'>Netmask:</span> <span color='#${palette.base04}'>{netmask}</span>",
|
||||
"tooltip-format-ethernet": "<span color='#${palette.base0C}'></span> <span color='#${palette.base05}'>Ethernet</span>\n<span color='#${palette.base0A}'>Interface:</span> <span color='#${palette.base04}'>{ifname}</span>\n<span color='#${palette.base0A}'>IP:</span> <span color='#${palette.base06}'>{ipaddr}</span>\n<span color='#${palette.base0A}'>IPv6:</span> <span color='#${palette.base04}'>{ipaddr6}</span>\n<span color='#${palette.base0A}'>Gateway:</span> <span color='#${palette.base04}'>{gwaddr}</span>\n<span color='#${palette.base0A}'>Netmask:</span> <span color='#${palette.base04}'>{netmask}</span>",
|
||||
|
||||
"tooltip-format-disconnected": "<span color='#${palette.base08}'>⚠</span> <span color='#${palette.base08}'>No Connection</span>\n<span color='#${palette.base04}'>Click to refresh network info</span>",
|
||||
"tooltip-format-disconnected": "<span color='#${palette.base08}'>⚠</span> <span color='#${palette.base08}'>No Connection</span>\n<span color='#${palette.base04}'>Click to refresh network info</span>",
|
||||
|
||||
"on-click": "nmcli device wifi rescan && nmcli connection show --active",
|
||||
"on-click-right": "nmcli device status",
|
||||
"max-length": 50
|
||||
},
|
||||
"on-click": "nmcli device wifi rescan && nmcli connection show --active",
|
||||
"on-click-right": "nmcli device status",
|
||||
"max-length": 50
|
||||
},
|
||||
|
||||
"cpu": { "format": " {usage}%" },
|
||||
"memory": { "format": " {used:0.1f}G" },
|
||||
"cpu": { "format": " {usage}%" },
|
||||
"memory": { "format": " {used:0.1f}G" },
|
||||
|
||||
"temperature": {
|
||||
"format": "{temperatureC}°C ",
|
||||
"critical-threshold": 80
|
||||
},
|
||||
"temperature": {
|
||||
"format": "{temperatureC}°C ",
|
||||
"critical-threshold": 80
|
||||
},
|
||||
|
||||
"battery": {
|
||||
"format": "{capacity}% {icon}",
|
||||
"format-icons": ["","","","",""],
|
||||
"format-charging": "{capacity}% ",
|
||||
"states": { "warning": 30, "critical": 15 }
|
||||
},
|
||||
"battery": {
|
||||
"format": "{capacity}% {icon}",
|
||||
"format-icons": ["","","","",""],
|
||||
"format-charging": "{capacity}% ",
|
||||
"states": { "warning": 30, "critical": 15 }
|
||||
},
|
||||
|
||||
|
||||
"power-profiles-daemon": {
|
||||
"format": "{icon}",
|
||||
"tooltip-format": "Power profile: {profile}\\nDriver: {driver}",
|
||||
"tooltip": true,
|
||||
"format-icons": {
|
||||
"default": "",
|
||||
"performance": "",
|
||||
"balanced": "",
|
||||
"power-saver": ""
|
||||
}
|
||||
},
|
||||
"power-profiles-daemon": {
|
||||
"format": "{icon}",
|
||||
"tooltip-format": "Power profile: {profile}\\nDriver: {driver}",
|
||||
"tooltip": true,
|
||||
"format-icons": {
|
||||
"default": "",
|
||||
"performance": "",
|
||||
"balanced": "",
|
||||
"power-saver": ""
|
||||
}
|
||||
},
|
||||
|
||||
"clock": {
|
||||
"format": "{:%H:%M}",
|
||||
"format-alt": "{:%Y-%m-%d}",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "<tt><small>{calendar}</small></tt>",
|
||||
"calendar": {
|
||||
"mode": "month",
|
||||
"mode-mon-col": 3,
|
||||
"weeks-pos": "right",
|
||||
"on-scroll": 1,
|
||||
"format": {
|
||||
"months": "<span color='#${palette.base05}'><b>{}</b></span>",
|
||||
"days": "<span color='#${palette.base04}'>{}</span>",
|
||||
"weeks": "<span color='#${palette.base0C}'><b>W{}</b></span>",
|
||||
"weekdays": "<span color='#${palette.base0A}'><b>{}</b></span>",
|
||||
"today": "<span color='#${palette.base08}'><b><u>{}</u></b></span>"
|
||||
"clock": {
|
||||
"format": "{:%H:%M}",
|
||||
"format-alt": "{:%Y-%m-%d}",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "<tt><small>{calendar}</small></tt>",
|
||||
"calendar": {
|
||||
"mode": "month",
|
||||
"mode-mon-col": 3,
|
||||
"weeks-pos": "right",
|
||||
"on-scroll": 1,
|
||||
"format": {
|
||||
"months": "<span color='#${palette.base05}'><b>{}</b></span>",
|
||||
"days": "<span color='#${palette.base04}'>{}</span>",
|
||||
"weeks": "<span color='#${palette.base0C}'><b>W{}</b></span>",
|
||||
"weekdays": "<span color='#${palette.base0A}'><b>{}</b></span>",
|
||||
"today": "<span color='#${palette.base08}'><b><u>{}</u></b></span>"
|
||||
}
|
||||
},
|
||||
"actions": {
|
||||
"on-click-right": "mode",
|
||||
"on-scroll-up": "shift_up",
|
||||
"on-scroll-down": "shift_down"
|
||||
}
|
||||
},
|
||||
|
||||
"tray": {
|
||||
"spacing": 12
|
||||
},
|
||||
|
||||
"custom/power": {
|
||||
"format": "⏻",
|
||||
"tooltip": "exit",
|
||||
"on-click": "wlogout || wleave"
|
||||
}
|
||||
}
|
||||
},
|
||||
"actions": {
|
||||
"on-click-right": "mode",
|
||||
"on-scroll-up": "shift_up",
|
||||
"on-scroll-down": "shift_down"
|
||||
}
|
||||
},
|
||||
|
||||
"tray": {
|
||||
"spacing": 12
|
||||
},
|
||||
|
||||
"custom/power": {
|
||||
"format": "⏻",
|
||||
"tooltip": "exit",
|
||||
"on-click": "wlogout || wleave"
|
||||
}
|
||||
}
|
||||
'')
|
||||
];
|
||||
|
||||
@@ -233,15 +241,15 @@ in
|
||||
padding: 8px 12px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
|
||||
tooltip label {
|
||||
color: ${toRGBA palette.base05 "1"};
|
||||
}
|
||||
|
||||
|
||||
#clock tooltip {
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Workspace buttons */
|
||||
#sway-workspaces button,#niri-workspaces button {
|
||||
@@ -284,6 +292,6 @@ in
|
||||
animation: blink 0.5s steps(12) infinite alternate;
|
||||
}
|
||||
'';
|
||||
systemd.enable = true;
|
||||
#systemd.enable = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,35 +1,69 @@
|
||||
{ pkgs
|
||||
, lib
|
||||
, inputs
|
||||
, config
|
||||
, nix-colors
|
||||
, ...
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
inputs,
|
||||
config,
|
||||
nix-colors,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
# Grab your palette and the hex→RGBA helper
|
||||
palette = config.colorscheme.palette;
|
||||
toRGBA = color: alpha:
|
||||
let rgb = nix-colors.lib.conversions.hexToRGBString "," (lib.removePrefix "#" color);
|
||||
in "rgba(${rgb},${alpha})";
|
||||
palette = config.colorscheme.palette;
|
||||
toRGBA =
|
||||
color: alpha:
|
||||
let
|
||||
rgb = nix-colors.lib.conversions.hexToRGBString "," (lib.removePrefix "#" color);
|
||||
in
|
||||
"rgba(${rgb},${alpha})";
|
||||
|
||||
# Path to the wleave-provided icons
|
||||
iconsDir = "${pkgs.wleave}/share/wleave/icons";
|
||||
iconsDir = "${pkgs.wleave}/share/wleave/icons";
|
||||
in
|
||||
|
||||
{
|
||||
programs.wlogout = {
|
||||
enable = true;
|
||||
enable = true;
|
||||
package = pkgs.wlogout;
|
||||
|
||||
# Your button layout
|
||||
layout = [
|
||||
{ label = "lock"; action = "swaylock"; text = "Lock"; keybind = "l"; }
|
||||
{ label = "hibernate"; action = "systemctl hibernate"; text = "Hibernate"; keybind = "h"; }
|
||||
{ label = "logout"; action = "loginctl terminate-user $USER"; text = "Logout"; keybind = "e"; }
|
||||
{ label = "shutdown"; action = "systemctl poweroff"; text = "Shutdown"; keybind = "s"; }
|
||||
{ label = "suspend"; action = "systemctl suspend"; text = "Suspend"; keybind = "u"; }
|
||||
{ label = "reboot"; action = "systemctl reboot"; text = "Reboot"; keybind = "r"; }
|
||||
{
|
||||
label = "lock";
|
||||
action = "swaylock";
|
||||
text = "Lock";
|
||||
keybind = "l";
|
||||
}
|
||||
{
|
||||
label = "hibernate";
|
||||
action = "systemctl hibernate";
|
||||
text = "Hibernate";
|
||||
keybind = "h";
|
||||
}
|
||||
{
|
||||
label = "logout";
|
||||
action = "loginctl terminate-user $USER";
|
||||
text = "Logout";
|
||||
keybind = "e";
|
||||
}
|
||||
{
|
||||
label = "shutdown";
|
||||
action = "systemctl poweroff";
|
||||
text = "Shutdown";
|
||||
keybind = "s";
|
||||
}
|
||||
{
|
||||
label = "suspend";
|
||||
action = "systemctl suspend";
|
||||
text = "Suspend";
|
||||
keybind = "u";
|
||||
}
|
||||
{
|
||||
label = "reboot";
|
||||
action = "systemctl reboot";
|
||||
text = "Reboot";
|
||||
keybind = "r";
|
||||
}
|
||||
];
|
||||
|
||||
style = ''
|
||||
|
||||
@@ -2,22 +2,27 @@
|
||||
# your system. Help is available in the configuration.nix(5) man page, on
|
||||
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
|
||||
|
||||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ # Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
../../modules/boot.nix
|
||||
../../modules/displaymanager.nix
|
||||
../../modules/nix.nix
|
||||
../../secrets/sops.nix
|
||||
../../modules/sound.nix
|
||||
../../modules/gunalx.nix
|
||||
../../modules/pam.nix
|
||||
];
|
||||
imports = [
|
||||
# Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
../../modules/boot.nix
|
||||
../../modules/displaymanager.nix
|
||||
../../modules/nix.nix
|
||||
../../secrets/sops.nix
|
||||
../../modules/sound.nix
|
||||
../../modules/gunalx.nix
|
||||
../../modules/pam.nix
|
||||
];
|
||||
|
||||
networking.hostName = "legolas";
|
||||
networking.hostName = "legolas";
|
||||
networking.networkmanager.enable = true;
|
||||
time.timeZone = "Europe/Amsterdam";
|
||||
# Select internationalisation properties.
|
||||
@@ -25,7 +30,7 @@
|
||||
|
||||
# Enable the X11 windowing system.
|
||||
services.xserver.enable = true;
|
||||
services.xserver.videoDrivers = ["modesetting"];
|
||||
services.xserver.videoDrivers = [ "modesetting" ];
|
||||
|
||||
# Configure keymap in X11
|
||||
# services.xserver.xkb.layout = "us";
|
||||
@@ -57,7 +62,6 @@
|
||||
# enableSSHSupport = true;
|
||||
# };
|
||||
|
||||
|
||||
# Enable the OpenSSH daemon.
|
||||
# services.openssh.enable = true;
|
||||
|
||||
@@ -67,8 +71,6 @@
|
||||
# Or disable the firewall altogether.
|
||||
# networking.firewall.enable = false;
|
||||
|
||||
|
||||
|
||||
# This option defines the first version of NixOS you have installed on this particular machine,
|
||||
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
|
||||
#
|
||||
@@ -89,4 +91,3 @@
|
||||
system.stateVersion = "25.05"; # Did you read the comment?
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1,51 +1,68 @@
|
||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "uas" "rtsx_pci_sdmmc" ];
|
||||
boot.initrd.availableKernelModules = [
|
||||
"xhci_pci"
|
||||
"nvme"
|
||||
"uas"
|
||||
"rtsx_pci_sdmmc"
|
||||
];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-label/NIXROOT";
|
||||
fsType = "ext4";
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-label/NIXROOT";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
boot.initrd.luks.devices = {
|
||||
"luks_secure" = {
|
||||
device = "/dev/disk/by-uuid/c21c8089-29a7-4266-a8a6-6e80ccca167c";
|
||||
preLVM = true;
|
||||
allowDiscards = true;
|
||||
crypttabExtraOpts = [
|
||||
"tpm2-device=auto"
|
||||
"tpm2-measure-pcr=yes"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
boot.initrd.luks.devices = {
|
||||
"luks_secure" = {
|
||||
device = "/dev/disk/by-uuid/c21c8089-29a7-4266-a8a6-6e80ccca167c";
|
||||
preLVM = true;
|
||||
allowDiscards = true;
|
||||
crypttabExtraOpts = [
|
||||
"tpm2-device=auto"
|
||||
"tpm2-measure-pcr=yes"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-label/NIXBOOT";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0022" "dmask=0022" ];
|
||||
};
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-label/NIXBOOT";
|
||||
fsType = "vfat";
|
||||
options = [
|
||||
"fmask=0022"
|
||||
"dmask=0022"
|
||||
];
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
|
||||
hardware.graphics = {
|
||||
enable = true;
|
||||
extraPackages = with pkgs; [ vpl-gpu-rt intel-media-sdk vaapiIntel intel-media-driver];
|
||||
};
|
||||
enable = true;
|
||||
extraPackages = with pkgs; [
|
||||
vpl-gpu-rt
|
||||
intel-media-sdk
|
||||
vaapiIntel
|
||||
intel-media-driver
|
||||
];
|
||||
};
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [ ];
|
||||
@@ -6,10 +11,15 @@
|
||||
boot = {
|
||||
consoleLogLevel = 0;
|
||||
kernelParams = [
|
||||
"quiet" "splash" "loglevel=0"
|
||||
"udev.log_priority=3" "vt.global_cursor_default=0"
|
||||
"rd.systemd.show_status=auto" "rd.udev.log_level=3"
|
||||
"boot.shell_on_fail" "console=tty1"
|
||||
"quiet"
|
||||
"splash"
|
||||
"loglevel=0"
|
||||
"udev.log_priority=3"
|
||||
"vt.global_cursor_default=0"
|
||||
"rd.systemd.show_status=auto"
|
||||
"rd.udev.log_level=3"
|
||||
"boot.shell_on_fail"
|
||||
"console=tty1"
|
||||
];
|
||||
|
||||
initrd = {
|
||||
@@ -25,7 +35,10 @@
|
||||
};
|
||||
};
|
||||
|
||||
fonts.packages = with pkgs; [ dejavu_fonts hack-font ];
|
||||
fonts.packages = with pkgs; [
|
||||
dejavu_fonts
|
||||
hack-font
|
||||
];
|
||||
|
||||
# Integrate with Lanzaboote
|
||||
boot.loader.systemd-boot.enable = lib.mkForce false;
|
||||
@@ -52,6 +65,8 @@
|
||||
tctiEnvironment.enable = true;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [ sbctl tpm2-tools ];
|
||||
environment.systemPackages = with pkgs; [
|
||||
sbctl
|
||||
tpm2-tools
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [ ];
|
||||
|
||||
@@ -1,10 +1,19 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [ ];
|
||||
users.users.gunalx = {
|
||||
users.users.gunalx = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "wheel" "tss" "networking" ]; # Enable ‘sudo’ for the user.
|
||||
extraGroups = [
|
||||
"wheel"
|
||||
"tss"
|
||||
"networking"
|
||||
]; # Enable ‘sudo’ for the user.
|
||||
packages = with pkgs; [
|
||||
];
|
||||
};
|
||||
|
||||
107
modules/nix.nix
107
modules/nix.nix
@@ -1,15 +1,20 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [ ];
|
||||
|
||||
|
||||
system.rebuild.enableNg = true;
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
nixpkgs.config.permittedInsecurePackages = [
|
||||
# example "python3.11-youtube-dl-2021.12.17"
|
||||
];
|
||||
sops.secrets."github/api" = {
|
||||
sops.secrets."github/api" = {
|
||||
mode = "0444";
|
||||
group = "root";
|
||||
};
|
||||
@@ -20,8 +25,14 @@
|
||||
!include ${config.sops.secrets."github/api".path}
|
||||
'';
|
||||
settings = {
|
||||
trusted-users = [ "gunalx" "root" ];
|
||||
experimental-features = [ "nix-command" "flakes" ];
|
||||
trusted-users = [
|
||||
"gunalx"
|
||||
"root"
|
||||
];
|
||||
experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
substituters = [
|
||||
"https://cache.nixos.org/"
|
||||
"https://cuda-maintainers.cachix.org"
|
||||
@@ -31,55 +42,58 @@
|
||||
];
|
||||
|
||||
trusted-public-keys = [
|
||||
"cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E="
|
||||
"cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E="
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
"nixos-rocm.cachix.org-1:VEpsf7pRIijjd8csKjFNBGzkBqOmw8H9PRmgAq14LnE="
|
||||
"nixpkgs-unfree.cachix.org-1:hqvoInulhbV4nJ9yJOEr+4wxhDV4xq2d1DK7S6Nj6rs="
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
buildMachines = [
|
||||
{
|
||||
hostName = "localhost";
|
||||
system = "x86_64-linux";
|
||||
maxJobs = 4;
|
||||
speedFactor = 8000;
|
||||
supportedFeatures = [ ];
|
||||
mandatoryFeatures = [ ];
|
||||
}
|
||||
{
|
||||
hostName = "aragon";
|
||||
system = "x86_64-linux";
|
||||
# if the builder supports building for multiple architectures,
|
||||
# replace the previous line by, e.g.,
|
||||
# systems = ["x86_64-linux" "aarch64-linux"];
|
||||
maxJobs = 6;
|
||||
speedFactor = 6001;
|
||||
supportedFeatures = [ ];
|
||||
mandatoryFeatures = [ ];
|
||||
}
|
||||
{
|
||||
hostName = "galadriel";
|
||||
system = "x86_64-linux";
|
||||
maxJobs = 4;
|
||||
speedFactor = 4001;
|
||||
supportedFeatures = [ "cuda" ];
|
||||
mandatoryFeatures = [ ];
|
||||
}
|
||||
{
|
||||
hostName = "bolle.pbsds.net";
|
||||
system = "x86_64-linux";
|
||||
maxJobs = 6;
|
||||
speedFactor = 6000;
|
||||
}
|
||||
{
|
||||
hostName = "garp.pbsds.net";
|
||||
system = "x86_64-linux";
|
||||
maxJobs = 4;
|
||||
# i7-6700
|
||||
speedFactor = 4000;
|
||||
}
|
||||
|
||||
buildMachines = [
|
||||
{ hostName = "localhost";
|
||||
system = "x86_64-linux";
|
||||
maxJobs = 4;
|
||||
speedFactor = 8000;
|
||||
supportedFeatures = [ ];
|
||||
mandatoryFeatures = [ ];
|
||||
}
|
||||
{ hostName = "aragon";
|
||||
system = "x86_64-linux";
|
||||
# if the builder supports building for multiple architectures,
|
||||
# replace the previous line by, e.g.,
|
||||
# systems = ["x86_64-linux" "aarch64-linux"];
|
||||
maxJobs = 6;
|
||||
speedFactor = 6001;
|
||||
supportedFeatures = [ ];
|
||||
mandatoryFeatures = [ ];
|
||||
}
|
||||
{ hostName = "galadriel";
|
||||
system = "x86_64-linux";
|
||||
maxJobs = 4;
|
||||
speedFactor = 4001;
|
||||
supportedFeatures = [ "cuda" ];
|
||||
mandatoryFeatures = [ ];
|
||||
}
|
||||
{ hostName = "bolle.pbsds.net";
|
||||
system = "x86_64-linux";
|
||||
maxJobs = 6;
|
||||
speedFactor = 6000;
|
||||
}
|
||||
{ hostName = "garp.pbsds.net";
|
||||
system = "x86_64-linux";
|
||||
maxJobs = 4;
|
||||
# i7-6700
|
||||
speedFactor = 4000;
|
||||
}
|
||||
|
||||
];
|
||||
];
|
||||
distributedBuilds = true;
|
||||
};
|
||||
|
||||
|
||||
system.autoUpgrade = {
|
||||
enable = true;
|
||||
@@ -90,5 +104,4 @@
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,11 +1,16 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [ ];
|
||||
|
||||
security.polkit.enable = true;
|
||||
|
||||
security.pam.services.swaylock = {};
|
||||
security.pam.services.swaylock-effects = {};
|
||||
|
||||
security.pam.services.swaylock = { };
|
||||
security.pam.services.swaylock-effects = { };
|
||||
|
||||
}
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [ ];
|
||||
|
||||
|
||||
services.pulseaudio.enable = lib.mkDefault false;
|
||||
security.rtkit.enable = lib.mkDefault true;
|
||||
services.pipewire = lib.mkDefault {
|
||||
@@ -21,6 +25,6 @@
|
||||
easyeffects
|
||||
];
|
||||
|
||||
programs.dconf.enable = lib.mkDefault true; #needed for easyeffects for some reason
|
||||
programs.dconf.enable = lib.mkDefault true; # needed for easyeffects for some reason
|
||||
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
pkgs.ssh-to-age
|
||||
pkgs.sops
|
||||
];
|
||||
|
||||
|
||||
# This will add secrets.yaml to the nix store
|
||||
# You can avoid this by adding a string to the full path instead, i.e.
|
||||
# sops.defaultSopsFile = "/root/.sops/secrets/example.yaml";
|
||||
@@ -12,12 +12,12 @@
|
||||
sops = {
|
||||
defaultSopsFile = ./secrets.yaml;
|
||||
validateSopsFiles = false;
|
||||
|
||||
|
||||
# This will automaticx-sopsally import SSH keys as age keys
|
||||
age.sshKeyPaths = [
|
||||
"/etc/ssh/nixos"
|
||||
"/root/.ssh/nixos"
|
||||
];
|
||||
"/etc/ssh/nixos"
|
||||
"/root/.ssh/nixos"
|
||||
];
|
||||
#This is using an age key that is expected to already be in the filesystem
|
||||
age.keyFile = "/var/lib/sops-nix/key.txt";
|
||||
#age.keyFile = "/root/.config/sops/age/key.txt";
|
||||
|
||||
Reference in New Issue
Block a user