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

View File

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

View File

@@ -51,9 +51,18 @@
};
boot = {
kernelParams = [ "amd_pstate=active" "video=eDP:2560x1600@165" ];
kernelParams = [ "amd_pstate=active" "video=eDP-1:2560x1600@165" ];
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"
];
input = {
"accel_profile" = "flat";
};
misc = {
"disable_hyprland_logo" = true;
"disable_splash_rendering" = true;

View File

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

View File

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