Add eirene bare metal config
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
7
hosts/common/configs/git/default.nix
Normal file
7
hosts/common/configs/git/default.nix
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
lfs.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
6
hosts/common/configs/gpg-agent/default.nix
Normal file
6
hosts/common/configs/gpg-agent/default.nix
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.gnupg.agent.enable = true;
|
||||||
|
}
|
||||||
|
|
7
hosts/common/configs/nix-ld/default.nix
Normal file
7
hosts/common/configs/nix-ld/default.nix
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
programs.nix-ld = {
|
||||||
|
enable = true;
|
||||||
|
libraries = [ ];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
8
hosts/common/configs/ssh/default.nix
Normal file
8
hosts/common/configs/ssh/default.nix
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
programs.ssh = {
|
||||||
|
knownHosts = {
|
||||||
|
eirene.publicKeyFile = ../../../eirene/secrets/ssh_host_ed25519_key.pub;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@@ -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;
|
||||||
}
|
}
|
||||||
|
@@ -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
|
||||||
|
@@ -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;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}; }];
|
||||||
}
|
}
|
||||||
|
@@ -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;
|
||||||
|
@@ -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;
|
||||||
|
@@ -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.";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user