Add eirene bare metal config

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2024-06-19 17:17:55 +03:00
parent aec06c4b37
commit 69ac30f0b9
10 changed files with 66 additions and 22 deletions

View File

@@ -0,0 +1,7 @@
{
programs.git = {
enable = true;
lfs.enable = true;
};
}

View File

@@ -0,0 +1,6 @@
{ pkgs, ... }:
{
programs.gnupg.agent.enable = true;
}

View File

@@ -0,0 +1,7 @@
{
programs.nix-ld = {
enable = true;
libraries = [ ];
};
}

View File

@@ -0,0 +1,8 @@
{
programs.ssh = {
knownHosts = {
eirene.publicKeyFile = ../../../eirene/secrets/ssh_host_ed25519_key.pub;
};
};
}

View File

@@ -7,6 +7,10 @@
./configs/zsh ./configs/zsh
./configs/neovim ./configs/neovim
./configs/tmux ./configs/tmux
./configs/ssh
./configs/nix-ld
./configs/git
./configs/gpg-agent
]; ];
fileSystems."/persist".neededForBoot = true; fileSystems."/persist".neededForBoot = true;
@@ -14,7 +18,7 @@
boot = { boot = {
loader = { loader = {
systemd-boot.enable = true; systemd-boot.enable = true;
timeout = 0; timeout = 3;
efi.canTouchEfiVariables = true; efi.canTouchEfiVariables = true;
}; };
@@ -23,6 +27,7 @@
postDeviceCommands = lib.mkAfter (builtins.readFile ./scripts/impermanence.sh); postDeviceCommands = lib.mkAfter (builtins.readFile ./scripts/impermanence.sh);
}; };
supportedFilesystems = [ "btrfs" "ntfs" ];
kernelParams = [ "loglevel=3" "quiet" ]; kernelParams = [ "loglevel=3" "quiet" ];
consoleLogLevel = 0; consoleLogLevel = 0;
}; };
@@ -45,12 +50,11 @@
}; };
systemPackages = with pkgs; [ systemPackages = with pkgs; [
nano
tree tree
git
ranger ranger
btop btop
fastfetch fastfetch
sops
]; ];
}; };
@@ -62,16 +66,6 @@
defaultUserShell = pkgs.zsh; defaultUserShell = pkgs.zsh;
}; };
programs = {
nix-ld = {
enable = true;
libraries = [ ];
};
ssh.knownHosts = {
eirene.publicKeyFile = ../eirene/secrets/ssh_host_ed25519_key.pub;
};
};
security.sudo.extraConfig = '' security.sudo.extraConfig = ''
Defaults lecture = never Defaults lecture = never
''; '';
@@ -97,6 +91,10 @@
stateVersion = "24.05"; stateVersion = "24.05";
}; };
nix.settings.experimental-features = [ "nix-command" "flakes" ]; nix = {
settings.experimental-features = [ "nix-command" "flakes" ];
gc.automatic = true;
};
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
} }

View File

@@ -1,3 +1,5 @@
#!/bin/sh
delete_subvolume_recursively() { delete_subvolume_recursively() {
IFS=$'\n' IFS=$'\n'
for i in $(btrfs subvolume list -o "$1" | cut -f 9- -d ' '); do for i in $(btrfs subvolume list -o "$1" | cut -f 9- -d ' '); do

View File

@@ -51,9 +51,18 @@
}; };
boot = { boot = {
kernelParams = [ "amd_pstate=active" "video=eDP:2560x1600@165" ]; kernelParams = [ "amd_pstate=active" "video=eDP-1:2560x1600@165" ];
initrd.kernelModules = [ "amdgpu" ]; initrd.kernelModules = [ "amdgpu" ];
}; };
home-manager.sharedModules = lib.mkIf config.programs.hyprland.enable [{ wayland.windowManager.hyprland.settings.monitor = "eDP, 2560x1600@165, 0x0, 1"; }]; home-manager.sharedModules = lib.mkIf config.programs.hyprland.enable [{ wayland.windowManager.hyprland.settings = {
monitor = "eDP-1, 2560x1600@165, 0x0, 1.25";
device = [
{
name = "syna2ba6:00-06cb:ce44-touchpad";
natural_scroll = "true";
sensitivity = 0.5;
}
];
}; }];
} }

View File

@@ -80,6 +80,10 @@
"$mod, mouse:273, resizewindow" "$mod, mouse:273, resizewindow"
]; ];
input = {
"accel_profile" = "flat";
};
misc = { misc = {
"disable_hyprland_logo" = true; "disable_hyprland_logo" = true;
"disable_splash_rendering" = true; "disable_splash_rendering" = true;

View File

@@ -24,6 +24,7 @@ in
sharedModules = [{ sharedModules = [{
imports = [ imports = [
inputs.impermanence.nixosModules.home-manager.impermanence inputs.impermanence.nixosModules.home-manager.impermanence
inputs.sops-nix.homeManagerModules.sops
inputs.stylix.homeManagerModules.stylix inputs.stylix.homeManagerModules.stylix
./configs/stylix ./configs/stylix
./configs/hyprland ./configs/hyprland
@@ -73,11 +74,13 @@ in
".local/share/zsh" ".local/share/zsh"
]; ];
files = [ files = [
".local/share/sops-nix/key.txt" ".config/sops-nix/key.txt"
]; ];
allowOther = true; allowOther = true;
}; };
sops.age.keyFile = "/persist${config.home}/.config/sops-nix/key.txt";
programs.git = { programs.git = {
userName = config.fullName; userName = config.fullName;
userEmail = config.email; userEmail = config.email;

View File

@@ -1,24 +1,24 @@
{ lib, ... }: { lib, ... }:
let let
userOptions = with lib; { config, ... }: { userOptions = with lib; with types; { config, ... }: {
options.email = mkOption { options.email = mkOption {
type = types.nullOr types.str; type = nullOr str;
description = "Email address of the user."; description = "Email address of the user.";
}; };
options.fullName = mkOption { options.fullName = mkOption {
type = types.nullOr types.str; type = nullOr str;
description = "Full name of the user."; description = "Full name of the user.";
}; };
options.wallpaper = mkOption { options.wallpaper = mkOption {
type = types.path; type = path;
description = "Path to the user's wallpaper."; description = "Path to the user's wallpaper.";
}; };
options.base16Scheme = mkOption { options.base16Scheme = mkOption {
type = types.path; type = path;
description = "Base16 scheme to use for the user's color palette."; description = "Base16 scheme to use for the user's color palette.";
}; };
}; };