(refactor) move to common file
This commit is contained in:
parent
087fa2ec1e
commit
4dd774316e
5 changed files with 258 additions and 251 deletions
|
@ -9,14 +9,6 @@
|
|||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
nix = {
|
||||
package = pkgs.nixFlakes;
|
||||
optimise.automatic = true;
|
||||
# gc.automatic = true;
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
'';
|
||||
};
|
||||
# Use the systemd-boot EFI boot loader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
@ -27,15 +19,39 @@
|
|||
networkmanager.enable = true; # Easiest to use and most distros use this by default.
|
||||
firewall = {
|
||||
enable = true;
|
||||
allowedUDPPorts = [22 80 443 2222 25565 8080 8842 8191 3001 8096 7359 8420 8888 9000 8089 445];
|
||||
allowedTCPPorts = [22 80 443 2222 25565 8080 8842 8191 3001 8096 7359 8420 8888 9000 8089 445];
|
||||
allowedUDPPorts = [22 80 443 2222 25565 8080 8842 8191 3001 8096 7359 8420 8888 9000 8089 445 2377 22000 7946];
|
||||
allowedTCPPorts = [22 80 443 2222 25565 8080 8842 8191 3001 8096 7359 8420 8888 9000 8089 445 2377 22000 7946];
|
||||
};
|
||||
};
|
||||
# Set your time zone.
|
||||
time.timeZone = "America/New_York";
|
||||
|
||||
# Enable the X11 windowing system.
|
||||
environment.systemPackages = with pkgs; [
|
||||
alacritty
|
||||
czkawka
|
||||
gcc
|
||||
go
|
||||
hyperfine
|
||||
jellyfin-media-player
|
||||
kodiPackages.jellyfin
|
||||
kodiPackages.steam-controller
|
||||
lazydocker
|
||||
lazygit
|
||||
nil
|
||||
nodePackages.nodejs
|
||||
nodePackages.pnpm
|
||||
python3
|
||||
];
|
||||
services = {
|
||||
k3s = {
|
||||
enable = true;
|
||||
role = "server";
|
||||
token = "uwubernetes"; # TODO: change this
|
||||
extraFlags = toString [
|
||||
"--write-kubeconfig-mode \"0644\""
|
||||
"--cluster-init"
|
||||
# "--disable localstorage"
|
||||
];
|
||||
};
|
||||
# Enable the X11 windowing system.
|
||||
xserver = {
|
||||
enable = true;
|
||||
|
||||
|
@ -53,38 +69,7 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
# smartd
|
||||
smartd.enable = true;
|
||||
|
||||
# BTRFS scrub
|
||||
btrfs.autoScrub.enable = true;
|
||||
|
||||
avahi = {
|
||||
enable = true;
|
||||
ipv4 = true;
|
||||
ipv6 = true;
|
||||
nssmdns6 = true;
|
||||
nssmdns4 = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
|
||||
tuptime.enable = true;
|
||||
tuptime.timer.enable = true;
|
||||
};
|
||||
# Configure keymap in X11
|
||||
# services.xserver.xkb.layout = "us";
|
||||
# services.xserver.xkb.options = "eurosign:e,caps:escape";
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
# services.printing.enable = true;
|
||||
|
||||
# Enable sound.
|
||||
# sound.enable = true;
|
||||
# hardware.pulseaudio.enable = true;
|
||||
|
||||
# Enable touchpad support (enabled default in most desktopManager).
|
||||
# services.xserver.libinput.enable = true;
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users = {
|
||||
users = {
|
||||
|
@ -105,101 +90,9 @@
|
|||
}
|
||||
];
|
||||
};
|
||||
root.openssh.authorizedKeys.keys = [
|
||||
"sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIMggnmTj7KL409V2mtbPgKERbmyJAeCGBcyzxWW+arRZAAAABHNzaDo= yubikey-black"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAltYcKHavkQBJFlogNuT3JhX6ob30V3EYje4pOQBLgq gpg\\mira.kristipati@gmail.com"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEKT/rbUu87QyRD7L/QSr+lQMJz2m/mdqlqyCQEMwUJj gpgssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEw3/9inZC/MRPkuOF6T5LiFoOlgo5HZVIM36IC+hlzJ gpg\\mira-yubikey-black"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFdRtpQWCPyQQuzcwlbFukGZSlRTcfNzG840kMvbuPwr gpg\\kristipati.ajay@gmail.com"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIA0ikP2zdDBaJZ+aoE6jFz3UpCyHjz1r1QtuZTAvTpx zagreus25519"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJx1GWB1xkE+ECavUypp99FqmB4emiw+j2PpsxN8OXpa gpg\\mira@xn--2dkua.xn--tckwe"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINa3w6lweeP4XBokNCEJb86th9S81WQQ+LVVwCRpADap kristipati.ajay@gmail.com"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOY3LSWsg9XK1rI7r2E+1tmX3Vi7W5opwkvqO6AsduZR gpg\\ArgentumCation"
|
||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDA+Hrb45HQrcBe+gXQz4goWw0PBWdmAWMQ0RWrHXwvkWXM4KsXXrUP7qijEPPtDvJG3JL4Ifsbj+VIN7RprjE5wfvkIxlmnluUK6m2u8r8BlNDhFW5wjoA6PBuHhqYEKGbdqm5s+3WaZt8l2EERyIV87YJPbxNpwc175J3mWYWesvxSp/uNxcXEbOClr+jHXVxztno3XVoVXfpiFfjSsUgprQonbPYiKdfiLwFeXHI03vZlWfmEjERzBE+Ro5ireJ8JVNjKOgiw7aU6tQAyDKe2NkcyTV/tO/OdUSGlnO3Nc3qHHE9B0OTdoKPpiv5A1GdmJWub7UNJKzKB1y7eSGHU3X/FVMSCf9eZUmLIMxWcu1y6GrH1CHIpdqPk+rw6lfjkFg1dDL2f3CXoAwLIEFVaUzI+Gg7BC9Z2jUWTkaj7KoI4sN65PzqrNiJ5QfUjlGh1T0hgMB/QwGarPUilBljGUo7IQfcleDQF3Y5F05Amjr6isZ9ONpeOlCegUB6BIU= mira@epinephrine"
|
||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDDD48bhv1AEPhbrGIKxf+XTSWMyxu2qBeaN4nZNZ0YMyinltHd6/VaDEZIzCvadBi3Rc9oTdJIEiXzcMTKj26DacuAuh+YPMvoA0I+lfT36q2SZmWIaVSREtfYYdluJtAyiLvFTkv6G0p5c/x1v9ovEXY3OYo1lnio7j0SmBpj4R9UQJYJhohJLtJCTdfutSuQVclhx/kiytdmFqsCDlCI0EaNxTFS861iTmm2ZjKm7o8ohevxPmnXAHizIBOAZDzbhJ61sPLKIOLWWgJNiK04YUDsBToZBOpeLEnNGkkKY++V4u+5tGI5L1RlVwoGSSB40aY5WLouFmeVE/f42nVuTIF2r/UDjsxeiUdivai+L5xNiqHa5JRWg4+at1lYWGdpineXOPYF6MmzkV+HQMvxC8YhG7ig7W+V7KCfKzMy8EEej+gIMxGFqr6CJQCDXZxqt5o0+Ksh7IMw8AEcrBszuMdJEE/7E/XUnYQHfGUNgFvFwKVzPjOSzbwHMfWPI1k= root@epinephrine"
|
||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDm1kPy3bxyLX2nUwvETrsBbjmPDHEvKxmzn9dCoaa/C1tWttrvaXUhYZ6svftR7ofqjCailq1WHU4qkIlfz6Hxwq/mxZdOGRg3A2lzDgbJ5C9RSA8LIfYht2UhbqW40wHCEa1B6+bcwLHFWbDyoeT+NQO007lK4Tu1OY3nTNz3QFJgxAPtFuqQSTFpkxL8JZetQtc/KwJ5ofZBZ+nFc4PUstPE47uf4OEOaKY+fbDZ2bf8tmybGhVq6Oc+BQKij5usnQLTeN8XyVxPxGvXahXHx7ESnp//wCs6DrzoMHBbAVFVXS+w6ZzX2el9gCAcUeyZt8iu0zl9GxnVkpyQzHuuBgYON3orYaCdM5vRCnECFoK8XNwP45jNPzFxrIpSYeJ4tR4uhLxCfD3OHB/BQtOQsEdMJvnLnynzyWePeweTe2S1+ohg9zskyxt9c2rSxw8OlWdHds32JuWka6mTJCdfZgHaNY+Ppz1NEo5XYIfz9Jt0vevmaCVbBHo73Tyh6+k= norepinephrine"
|
||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDmOATOG9brF/pBmMufk0LQkPQuLwgZAOZMeHCSdOpr+4Tap/mmqCHGtDL/JW6KsDfFpOFmdnSoeihVPGT3r/Mixt3cGOJlzoWXDt2bHyaEOsLz5B3MuYqBIXG3d2wvxharbmlVg3xyArSaCtuBZcopC5rXajnrPW4HxW+pxPC1NsL3RRGSF0edWdJVdX8oJJBsMMUzfeWh1bxEz2iLKMSYb6KPbQITwFTr+RuiEIppOW3n0zJko1wNG8oWTOgHdkmY4C4rUOk6KgW4qs19t7Mjlc7CnZa3XV7/0DcxERGsphpKvS7dpnEtOt7RaHUr/t0V3yLgl58MPbJKG6WSNIRaXZ0EPSlzz8k+4JjuEFdCDg7WjEDSZsBS9U4AyYQjlEwrkinT7g+LUVKYEDqb0hE539SwARvHZsOXrRgtA+Jh2CJIb/rRWfQRkgxpT9hKiBfYbSj8qbphUrbJ/g72UOQyhIbEW8fF9vmWY75NV/X2+EFZyF56ZhvLFk08sjGIF+s= u0_a441@localhost"
|
||||
];
|
||||
mira = {
|
||||
isNormalUser = true;
|
||||
group = "mira";
|
||||
extraGroups = ["wheel" "docker" "dockremap"];
|
||||
packages = with pkgs; [
|
||||
firefox
|
||||
tree
|
||||
];
|
||||
shell = pkgs.zsh;
|
||||
openssh.authorizedKeys.keys = [
|
||||
"sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIMggnmTj7KL409V2mtbPgKERbmyJAeCGBcyzxWW+arRZAAAABHNzaDo= yubikey-black"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAltYcKHavkQBJFlogNuT3JhX6ob30V3EYje4pOQBLgq gpg\\mira.kristipati@gmail.com"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEKT/rbUu87QyRD7L/QSr+lQMJz2m/mdqlqyCQEMwUJj gpgssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEw3/9inZC/MRPkuOF6T5LiFoOlgo5HZVIM36IC+hlzJ gpg\\mira-yubikey-black"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFdRtpQWCPyQQuzcwlbFukGZSlRTcfNzG840kMvbuPwr gpg\\kristipati.ajay@gmail.com"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIA0ikP2zdDBaJZ+aoE6jFz3UpCyHjz1r1QtuZTAvTpx zagreus25519"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJx1GWB1xkE+ECavUypp99FqmB4emiw+j2PpsxN8OXpa gpg\\mira@xn--2dkua.xn--tckwe"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINa3w6lweeP4XBokNCEJb86th9S81WQQ+LVVwCRpADap kristipati.ajay@gmail.com"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOY3LSWsg9XK1rI7r2E+1tmX3Vi7W5opwkvqO6AsduZR gpg\\ArgentumCation"
|
||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDA+Hrb45HQrcBe+gXQz4goWw0PBWdmAWMQ0RWrHXwvkWXM4KsXXrUP7qijEPPtDvJG3JL4Ifsbj+VIN7RprjE5wfvkIxlmnluUK6m2u8r8BlNDhFW5wjoA6PBuHhqYEKGbdqm5s+3WaZt8l2EERyIV87YJPbxNpwc175J3mWYWesvxSp/uNxcXEbOClr+jHXVxztno3XVoVXfpiFfjSsUgprQonbPYiKdfiLwFeXHI03vZlWfmEjERzBE+Ro5ireJ8JVNjKOgiw7aU6tQAyDKe2NkcyTV/tO/OdUSGlnO3Nc3qHHE9B0OTdoKPpiv5A1GdmJWub7UNJKzKB1y7eSGHU3X/FVMSCf9eZUmLIMxWcu1y6GrH1CHIpdqPk+rw6lfjkFg1dDL2f3CXoAwLIEFVaUzI+Gg7BC9Z2jUWTkaj7KoI4sN65PzqrNiJ5QfUjlGh1T0hgMB/QwGarPUilBljGUo7IQfcleDQF3Y5F05Amjr6isZ9ONpeOlCegUB6BIU= mira@epinephrine"
|
||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDDD48bhv1AEPhbrGIKxf+XTSWMyxu2qBeaN4nZNZ0YMyinltHd6/VaDEZIzCvadBi3Rc9oTdJIEiXzcMTKj26DacuAuh+YPMvoA0I+lfT36q2SZmWIaVSREtfYYdluJtAyiLvFTkv6G0p5c/x1v9ovEXY3OYo1lnio7j0SmBpj4R9UQJYJhohJLtJCTdfutSuQVclhx/kiytdmFqsCDlCI0EaNxTFS861iTmm2ZjKm7o8ohevxPmnXAHizIBOAZDzbhJ61sPLKIOLWWgJNiK04YUDsBToZBOpeLEnNGkkKY++V4u+5tGI5L1RlVwoGSSB40aY5WLouFmeVE/f42nVuTIF2r/UDjsxeiUdivai+L5xNiqHa5JRWg4+at1lYWGdpineXOPYF6MmzkV+HQMvxC8YhG7ig7W+V7KCfKzMy8EEej+gIMxGFqr6CJQCDXZxqt5o0+Ksh7IMw8AEcrBszuMdJEE/7E/XUnYQHfGUNgFvFwKVzPjOSzbwHMfWPI1k= root@epinephrine"
|
||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDm1kPy3bxyLX2nUwvETrsBbjmPDHEvKxmzn9dCoaa/C1tWttrvaXUhYZ6svftR7ofqjCailq1WHU4qkIlfz6Hxwq/mxZdOGRg3A2lzDgbJ5C9RSA8LIfYht2UhbqW40wHCEa1B6+bcwLHFWbDyoeT+NQO007lK4Tu1OY3nTNz3QFJgxAPtFuqQSTFpkxL8JZetQtc/KwJ5ofZBZ+nFc4PUstPE47uf4OEOaKY+fbDZ2bf8tmybGhVq6Oc+BQKij5usnQLTeN8XyVxPxGvXahXHx7ESnp//wCs6DrzoMHBbAVFVXS+w6ZzX2el9gCAcUeyZt8iu0zl9GxnVkpyQzHuuBgYON3orYaCdM5vRCnECFoK8XNwP45jNPzFxrIpSYeJ4tR4uhLxCfD3OHB/BQtOQsEdMJvnLnynzyWePeweTe2S1+ohg9zskyxt9c2rSxw8OlWdHds32JuWka6mTJCdfZgHaNY+Ppz1NEo5XYIfz9Jt0vevmaCVbBHo73Tyh6+k= norepinephrine"
|
||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDmOATOG9brF/pBmMufk0LQkPQuLwgZAOZMeHCSdOpr+4Tap/mmqCHGtDL/JW6KsDfFpOFmdnSoeihVPGT3r/Mixt3cGOJlzoWXDt2bHyaEOsLz5B3MuYqBIXG3d2wvxharbmlVg3xyArSaCtuBZcopC5rXajnrPW4HxW+pxPC1NsL3RRGSF0edWdJVdX8oJJBsMMUzfeWh1bxEz2iLKMSYb6KPbQITwFTr+RuiEIppOW3n0zJko1wNG8oWTOgHdkmY4C4rUOk6KgW4qs19t7Mjlc7CnZa3XV7/0DcxERGsphpKvS7dpnEtOt7RaHUr/t0V3yLgl58MPbJKG6WSNIRaXZ0EPSlzz8k+4JjuEFdCDg7WjEDSZsBS9U4AyYQjlEwrkinT7g+LUVKYEDqb0hE539SwARvHZsOXrRgtA+Jh2CJIb/rRWfQRkgxpT9hKiBfYbSj8qbphUrbJ/g72UOQyhIbEW8fF9vmWY75NV/X2+EFZyF56ZhvLFk08sjGIF+s= u0_a441@localhost"
|
||||
];
|
||||
};
|
||||
anish = {
|
||||
isNormalUser = true;
|
||||
extraGroups = ["wheel" "docker" "dockremap"];
|
||||
shell = pkgs.zsh;
|
||||
openssh.authorizedKeys.keys = ["ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF6+YE7GteMK6Lmo0oW266LmaD6jwQMnCxwv0/V9zqKR akristipati6@gatech.edu"];
|
||||
};
|
||||
};
|
||||
groups.dockremap = {};
|
||||
groups."mira".gid = 1000;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
alacritty
|
||||
alejandra
|
||||
bat
|
||||
btdu
|
||||
btop
|
||||
btrbk
|
||||
cargo
|
||||
chezmoi
|
||||
czkawka
|
||||
delta
|
||||
fastfetch
|
||||
file
|
||||
fd
|
||||
fzf
|
||||
gcc
|
||||
git
|
||||
go
|
||||
hyfetch
|
||||
hyperfine
|
||||
jellyfin-media-player
|
||||
killall
|
||||
kodiPackages.jellyfin
|
||||
kodiPackages.steam-controller
|
||||
lazydocker
|
||||
lazygit
|
||||
lsd
|
||||
mcfly
|
||||
neovim
|
||||
nil
|
||||
nodePackages.nodejs
|
||||
nodePackages.pnpm
|
||||
ripgrep
|
||||
sheldon
|
||||
starship
|
||||
statix
|
||||
tealdeer
|
||||
tmux
|
||||
viddy
|
||||
wget
|
||||
yazi
|
||||
gdu
|
||||
zoxide
|
||||
zsh
|
||||
];
|
||||
|
||||
# Some programs need SUID wrappers, can be configured further or are
|
||||
# started in user sessions.
|
||||
# programs.mtr.enable = true;
|
||||
|
@ -233,22 +126,6 @@
|
|||
|
||||
# Enable the OpenSSH daemon.
|
||||
services = {
|
||||
pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
# If you want to use JACK applications, uncomment this
|
||||
#jack.enable = true;
|
||||
};
|
||||
openssh = {
|
||||
enable = true;
|
||||
settings = {
|
||||
PermitRootLogin = "prohibit-password";
|
||||
PasswordAuthentication = false;
|
||||
};
|
||||
allowSFTP = true;
|
||||
};
|
||||
fail2ban = {
|
||||
enable = true;
|
||||
ignoreIP = [
|
||||
|
@ -276,6 +153,7 @@
|
|||
enable = true;
|
||||
autoPrune.enable = true;
|
||||
extraOptions = "--userns-remap=default";
|
||||
liveRestore = false;
|
||||
};
|
||||
|
||||
# Open ports in the firewall.
|
||||
|
|
162
common.nix
Normal file
162
common.nix
Normal file
|
@ -0,0 +1,162 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
meta,
|
||||
...
|
||||
}: let
|
||||
sshKeys = [
|
||||
"sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIMggnmTj7KL409V2mtbPgKERbmyJAeCGBcyzxWW+arRZAAAABHNzaDo= yubikey-black"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAltYcKHavkQBJFlogNuT3JhX6ob30V3EYje4pOQBLgq gpg\\mira.kristipati@gmail.com"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEKT/rbUu87QyRD7L/QSr+lQMJz2m/mdqlqyCQEMwUJj gpgssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEw3/9inZC/MRPkuOF6T5LiFoOlgo5HZVIM36IC+hlzJ gpg\\mira-yubikey-black"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFdRtpQWCPyQQuzcwlbFukGZSlRTcfNzG840kMvbuPwr gpg\\kristipati.ajay@gmail.com"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIA0ikP2zdDBaJZ+aoE6jFz3UpCyHjz1r1QtuZTAvTpx zagreus25519"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJx1GWB1xkE+ECavUypp99FqmB4emiw+j2PpsxN8OXpa gpg\\mira@xn--2dkua.xn--tckwe"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINa3w6lweeP4XBokNCEJb86th9S81WQQ+LVVwCRpADap kristipati.ajay@gmail.com"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOY3LSWsg9XK1rI7r2E+1tmX3Vi7W5opwkvqO6AsduZR gpg\\ArgentumCation"
|
||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDA+Hrb45HQrcBe+gXQz4goWw0PBWdmAWMQ0RWrHXwvkWXM4KsXXrUP7qijEPPtDvJG3JL4Ifsbj+VIN7RprjE5wfvkIxlmnluUK6m2u8r8BlNDhFW5wjoA6PBuHhqYEKGbdqm5s+3WaZt8l2EERyIV87YJPbxNpwc175J3mWYWesvxSp/uNxcXEbOClr+jHXVxztno3XVoVXfpiFfjSsUgprQonbPYiKdfiLwFeXHI03vZlWfmEjERzBE+Ro5ireJ8JVNjKOgiw7aU6tQAyDKe2NkcyTV/tO/OdUSGlnO3Nc3qHHE9B0OTdoKPpiv5A1GdmJWub7UNJKzKB1y7eSGHU3X/FVMSCf9eZUmLIMxWcu1y6GrH1CHIpdqPk+rw6lfjkFg1dDL2f3CXoAwLIEFVaUzI+Gg7BC9Z2jUWTkaj7KoI4sN65PzqrNiJ5QfUjlGh1T0hgMB/QwGarPUilBljGUo7IQfcleDQF3Y5F05Amjr6isZ9ONpeOlCegUB6BIU= mira@epinephrine"
|
||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDDD48bhv1AEPhbrGIKxf+XTSWMyxu2qBeaN4nZNZ0YMyinltHd6/VaDEZIzCvadBi3Rc9oTdJIEiXzcMTKj26DacuAuh+YPMvoA0I+lfT36q2SZmWIaVSREtfYYdluJtAyiLvFTkv6G0p5c/x1v9ovEXY3OYo1lnio7j0SmBpj4R9UQJYJhohJLtJCTdfutSuQVclhx/kiytdmFqsCDlCI0EaNxTFS861iTmm2ZjKm7o8ohevxPmnXAHizIBOAZDzbhJ61sPLKIOLWWgJNiK04YUDsBToZBOpeLEnNGkkKY++V4u+5tGI5L1RlVwoGSSB40aY5WLouFmeVE/f42nVuTIF2r/UDjsxeiUdivai+L5xNiqHa5JRWg4+at1lYWGdpineXOPYF6MmzkV+HQMvxC8YhG7ig7W+V7KCfKzMy8EEej+gIMxGFqr6CJQCDXZxqt5o0+Ksh7IMw8AEcrBszuMdJEE/7E/XUnYQHfGUNgFvFwKVzPjOSzbwHMfWPI1k= root@epinephrine"
|
||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDm1kPy3bxyLX2nUwvETrsBbjmPDHEvKxmzn9dCoaa/C1tWttrvaXUhYZ6svftR7ofqjCailq1WHU4qkIlfz6Hxwq/mxZdOGRg3A2lzDgbJ5C9RSA8LIfYht2UhbqW40wHCEa1B6+bcwLHFWbDyoeT+NQO007lK4Tu1OY3nTNz3QFJgxAPtFuqQSTFpkxL8JZetQtc/KwJ5ofZBZ+nFc4PUstPE47uf4OEOaKY+fbDZ2bf8tmybGhVq6Oc+BQKij5usnQLTeN8XyVxPxGvXahXHx7ESnp//wCs6DrzoMHBbAVFVXS+w6ZzX2el9gCAcUeyZt8iu0zl9GxnVkpyQzHuuBgYON3orYaCdM5vRCnECFoK8XNwP45jNPzFxrIpSYeJ4tR4uhLxCfD3OHB/BQtOQsEdMJvnLnynzyWePeweTe2S1+ohg9zskyxt9c2rSxw8OlWdHds32JuWka6mTJCdfZgHaNY+Ppz1NEo5XYIfz9Jt0vevmaCVbBHo73Tyh6+k= norepinephrine"
|
||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDmOATOG9brF/pBmMufk0LQkPQuLwgZAOZMeHCSdOpr+4Tap/mmqCHGtDL/JW6KsDfFpOFmdnSoeihVPGT3r/Mixt3cGOJlzoWXDt2bHyaEOsLz5B3MuYqBIXG3d2wvxharbmlVg3xyArSaCtuBZcopC5rXajnrPW4HxW+pxPC1NsL3RRGSF0edWdJVdX8oJJBsMMUzfeWh1bxEz2iLKMSYb6KPbQITwFTr+RuiEIppOW3n0zJko1wNG8oWTOgHdkmY4C4rUOk6KgW4qs19t7Mjlc7CnZa3XV7/0DcxERGsphpKvS7dpnEtOt7RaHUr/t0V3yLgl58MPbJKG6WSNIRaXZ0EPSlzz8k+4JjuEFdCDg7WjEDSZsBS9U4AyYQjlEwrkinT7g+LUVKYEDqb0hE539SwARvHZsOXrRgtA+Jh2CJIb/rRWfQRkgxpT9hKiBfYbSj8qbphUrbJ/g72UOQyhIbEW8fF9vmWY75NV/X2+EFZyF56ZhvLFk08sjGIF+s= u0_a441@localhost"
|
||||
];
|
||||
in {
|
||||
nix = {
|
||||
package = pkgs.nixFlakes;
|
||||
optimise.automatic = true;
|
||||
# gc.automatic = true;
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
'';
|
||||
};
|
||||
|
||||
networking = {
|
||||
hostName = meta.hostname;
|
||||
};
|
||||
# Set your time zone.
|
||||
time.timeZone = "America/New_York";
|
||||
|
||||
i18n = {
|
||||
defaultLocale = "en_US.UTF-8";
|
||||
extraLocaleSettings = {
|
||||
LC_ADDRESS = "en_US.UTF-8";
|
||||
LC_IDENTIFICATION = "en_US.UTF-8";
|
||||
LC_MEASUREMENT = "en_US.UTF-8";
|
||||
LC_MONETARY = "en_US.UTF-8";
|
||||
LC_NAME = "en_US.UTF-8";
|
||||
LC_NUMERIC = "en_US.UTF-8";
|
||||
LC_PAPER = "en_US.UTF-8";
|
||||
LC_TELEPHONE = "en_US.UTF-8";
|
||||
LC_TIME = "en_US.UTF-8";
|
||||
};
|
||||
};
|
||||
fonts = {
|
||||
fontDir.enable = true;
|
||||
packages = with pkgs; [
|
||||
atkinson-hyperlegible
|
||||
nerdfonts
|
||||
fira-code-nerdfont
|
||||
];
|
||||
};
|
||||
services =
|
||||
{
|
||||
openssh = {
|
||||
enable = true;
|
||||
settings = {
|
||||
PermitRootLogin = "prohibit-password";
|
||||
PasswordAuthentication = false;
|
||||
};
|
||||
allowSFTP = true;
|
||||
};
|
||||
tuptime.enable = true;
|
||||
tuptime.timer.enable = true;
|
||||
}
|
||||
// lib.optionalAttrs ((builtins.match ".*-linux" pkgs.stdenv.hostPlatform.system)
|
||||
!= null) {
|
||||
avahi = {
|
||||
enable = true;
|
||||
ipv4 = true;
|
||||
ipv6 = true;
|
||||
nssmdns6 = true;
|
||||
nssmdns4 = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
# If you want to use JACK applications, uncomment this
|
||||
#jack.enable = true;
|
||||
};
|
||||
# smartd
|
||||
smartd.enable = true;
|
||||
|
||||
# BTRFS scrub
|
||||
btrfs.autoScrub.enable = true;
|
||||
}
|
||||
# Mac Services
|
||||
// lib.optionalAttrs ((builtins.match ".*-darwin" pkgs.stdenv.hostPlatform.system)
|
||||
!= null) {
|
||||
nix-daemon.enable = true;
|
||||
};
|
||||
users = {
|
||||
groups.dockremap = {};
|
||||
groups."mira".gid = 1000;
|
||||
users = {
|
||||
root.openssh.authorizedKeys.keys = sshKeys;
|
||||
mira = {
|
||||
isNormalUser = true;
|
||||
group = "mira";
|
||||
extraGroups = ["wheel" "docker" "dockremap"];
|
||||
packages = with pkgs; [
|
||||
firefox
|
||||
tree
|
||||
];
|
||||
shell = pkgs.zsh;
|
||||
openssh.authorizedKeys.keys = sshKeys;
|
||||
};
|
||||
anish = {
|
||||
isNormalUser = true;
|
||||
extraGroups = ["wheel" "docker" "dockremap"];
|
||||
shell = pkgs.zsh;
|
||||
openssh.authorizedKeys.keys = ["ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF6+YE7GteMK6Lmo0oW266LmaD6jwQMnCxwv0/V9zqKR akristipati6@gatech.edu"];
|
||||
};
|
||||
};
|
||||
};
|
||||
environment.systemPackages = with pkgs; [
|
||||
alejandra
|
||||
bat
|
||||
btdu
|
||||
btop
|
||||
btrbk
|
||||
cargo
|
||||
chezmoi
|
||||
delta
|
||||
difftastic
|
||||
duf
|
||||
fastfetch
|
||||
fd
|
||||
file
|
||||
fzf
|
||||
gdu
|
||||
git
|
||||
hyfetch
|
||||
killall
|
||||
lazygit
|
||||
lsd
|
||||
mcfly
|
||||
neovim
|
||||
nushell
|
||||
ripgrep
|
||||
sheldon
|
||||
starship
|
||||
statix
|
||||
tealdeer
|
||||
tmux
|
||||
viddy
|
||||
wget
|
||||
yazi
|
||||
zoxide
|
||||
zsh
|
||||
];
|
||||
}
|
10
flake.nix
10
flake.nix
|
@ -33,14 +33,22 @@
|
|||
nixosConfigurations = {
|
||||
auxin = nixos-unstable.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {
|
||||
meta = {hostname = "auxin";};
|
||||
};
|
||||
modules = [
|
||||
./auxin/configuration.nix
|
||||
./common.nix
|
||||
];
|
||||
};
|
||||
gastrin = nixos-unstable.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {
|
||||
meta = {hostname = "gastrin";};
|
||||
};
|
||||
modules = [
|
||||
./gastrin/configuration.nix
|
||||
./common.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
|
@ -49,9 +57,11 @@
|
|||
system = "aarch64-darwin";
|
||||
modules = [
|
||||
./leptin/configuration.nix
|
||||
./common.nix
|
||||
{nixpkgs.overlays = overlays;}
|
||||
];
|
||||
specialArgs = {
|
||||
meta = {hostname = "leptin";};
|
||||
inherit nixpkgs-darwin;
|
||||
inherit nix-darwin;
|
||||
inherit inputs;
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ # Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
# Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
# Bootloader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
networking.hostName = "gastrin"; # Define your hostname.
|
||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||
|
||||
# Configure network proxy if necessary
|
||||
|
@ -31,57 +31,39 @@
|
|||
# Select internationalisation properties.
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
i18n.extraLocaleSettings = {
|
||||
LC_ADDRESS = "en_US.UTF-8";
|
||||
LC_IDENTIFICATION = "en_US.UTF-8";
|
||||
LC_MEASUREMENT = "en_US.UTF-8";
|
||||
LC_MONETARY = "en_US.UTF-8";
|
||||
LC_NAME = "en_US.UTF-8";
|
||||
LC_NUMERIC = "en_US.UTF-8";
|
||||
LC_PAPER = "en_US.UTF-8";
|
||||
LC_TELEPHONE = "en_US.UTF-8";
|
||||
LC_TIME = "en_US.UTF-8";
|
||||
services = {
|
||||
# Enable the X11 windowing system.
|
||||
xserver = {
|
||||
layout = "us";
|
||||
xkbVariant = "";
|
||||
enable = true;
|
||||
# Enable the GNOME Desktop Environment.
|
||||
displayManager.gdm.enable = true;
|
||||
desktopManager.gnome.enable = true;
|
||||
};
|
||||
# Configure keymap in X11
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
printing.enable = true;
|
||||
# Enable sound with pipewire.
|
||||
pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
# If you want to use JACK applications, uncomment this
|
||||
#jack.enable = true;
|
||||
|
||||
# use the example session manager (no others are packaged yet so this is enabled by default,
|
||||
# no need to redefine it in your config for now)
|
||||
#media-session.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
# Enable the X11 windowing system.
|
||||
services.xserver.enable = true;
|
||||
|
||||
# Enable the GNOME Desktop Environment.
|
||||
services.xserver.displayManager.gdm.enable = true;
|
||||
services.xserver.desktopManager.gnome.enable = true;
|
||||
|
||||
# Configure keymap in X11
|
||||
services.xserver = {
|
||||
layout = "us";
|
||||
xkbVariant = "";
|
||||
};
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
services.printing.enable = true;
|
||||
|
||||
fonts.fontDir.enable = true;
|
||||
fonts.packages = with pkgs; [
|
||||
atkinson-hyperlegible
|
||||
nerdfonts
|
||||
fira-code-nerdfont
|
||||
];
|
||||
# Enable sound with pipewire.
|
||||
sound.enable = true;
|
||||
hardware.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
# If you want to use JACK applications, uncomment this
|
||||
#jack.enable = true;
|
||||
|
||||
# use the example session manager (no others are packaged yet so this is enabled by default,
|
||||
# no need to redefine it in your config for now)
|
||||
#media-session.enable = true;
|
||||
};
|
||||
|
||||
services.
|
||||
# Enable touchpad support (enabled default in most desktopManager).
|
||||
# services.xserver.libinput.enable = true;
|
||||
|
||||
|
@ -89,10 +71,10 @@
|
|||
users.users.mira = {
|
||||
isNormalUser = true;
|
||||
description = "Mira";
|
||||
extraGroups = [ "networkmanager" "wheel" ];
|
||||
extraGroups = ["networkmanager" "wheel"];
|
||||
packages = with pkgs; [
|
||||
firefox
|
||||
# thunderbird
|
||||
# thunderbird
|
||||
];
|
||||
};
|
||||
|
||||
|
@ -110,20 +92,20 @@
|
|||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||
# wget
|
||||
neovim
|
||||
fzf
|
||||
duf
|
||||
squeekboard
|
||||
alacritty
|
||||
tmux
|
||||
chromium
|
||||
wofi
|
||||
waybar
|
||||
zoxide
|
||||
pavucontrol
|
||||
pulseaudio
|
||||
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||
# wget
|
||||
neovim
|
||||
fzf
|
||||
duf
|
||||
squeekboard
|
||||
alacritty
|
||||
tmux
|
||||
chromium
|
||||
wofi
|
||||
waybar
|
||||
zoxide
|
||||
pavucontrol
|
||||
pulseaudio
|
||||
];
|
||||
|
||||
# Some programs need SUID wrappers, can be configured further or are
|
||||
|
@ -153,5 +135,4 @@
|
|||
# Before changing this value read the documentation for this option
|
||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||
system.stateVersion = "23.11"; # Did you read the comment?
|
||||
|
||||
}
|
||||
|
|
|
@ -26,35 +26,11 @@
|
|||
};
|
||||
time.timeZone = "America/New_York";
|
||||
environment.systemPackages = with pkgs; [
|
||||
caddy
|
||||
cargo
|
||||
bat
|
||||
chezmoi
|
||||
delta
|
||||
git
|
||||
difftastic
|
||||
btop
|
||||
alejandra
|
||||
inputs.neovim-nightly-overlay.packages.${pkgs.system}.default
|
||||
fastfetch
|
||||
hyperfine
|
||||
lazygit
|
||||
docker
|
||||
lsd
|
||||
zsh
|
||||
# sheldon
|
||||
tealdeer
|
||||
statix
|
||||
tmux
|
||||
zellij
|
||||
viddy
|
||||
yazi
|
||||
zoxide
|
||||
fzf
|
||||
mcfly
|
||||
wget
|
||||
ripgrep
|
||||
starship
|
||||
caddy
|
||||
docker
|
||||
hyperfine
|
||||
inputs.neovim-nightly-overlay.packages.${pkgs.system}.default
|
||||
inputs.nixpkgs-unstable.legacyPackages.${pkgs.system}.nh
|
||||
];
|
||||
programs = {
|
||||
|
|
Loading…
Add table
Reference in a new issue