Set up astyanax host
parent
d876d02313
commit
a68a903b9e
16
flake.nix
16
flake.nix
|
|
@ -44,7 +44,21 @@
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
./hosts/vm/configuration.nix
|
./hosts/vm/configuration.nix
|
||||||
nix-topology.nixosModules.default
|
nix-topology.nixosModules.default
|
||||||
{ environment.systemPackages = [ nvim.packages.x86_64-linux.nvim ]; }
|
{
|
||||||
|
environment.systemPackages = [ nvim.packages.x86_64-linux.nvim ];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
astyanax = nixpkgs.lib.nixosSystem {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
modules = [
|
||||||
|
disko.nixosModules.disko
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
./hosts/astyanax/configuration.nix
|
||||||
|
nix-topology.nixosModules.default
|
||||||
|
{
|
||||||
|
environment.systemPackages = [ nvim.packages.x86_64-linux.nvim ];
|
||||||
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,101 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home.stateVersion = "25.05";
|
||||||
|
|
||||||
|
home.username = "h";
|
||||||
|
home.homeDirectory = "/home/h";
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
bash = {
|
||||||
|
enable = true;
|
||||||
|
enableCompletion = true;
|
||||||
|
initExtra = ''
|
||||||
|
for f in ${config.home.homeDirectory}/.bashrc.d/*; do
|
||||||
|
[ -f "$f" ] && source "$f"
|
||||||
|
done
|
||||||
|
|
||||||
|
source ${config.home.homeDirectory}/.bash_aliases/all
|
||||||
|
source ${config.home.homeDirectory}/.bash_aliases/lang-js
|
||||||
|
|
||||||
|
# host-specific config goes here
|
||||||
|
# ...
|
||||||
|
|
||||||
|
export PATH=${../../../dots/.bin}:$PATH
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
firefox.enable = true;
|
||||||
|
fzf = {
|
||||||
|
enable = true;
|
||||||
|
enableBashIntegration = true;
|
||||||
|
};
|
||||||
|
git.enable = true;
|
||||||
|
home-manager.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
bash-completion
|
||||||
|
bash-language-server
|
||||||
|
bat
|
||||||
|
brightnessctl
|
||||||
|
entr
|
||||||
|
eslint_d
|
||||||
|
feh
|
||||||
|
firefox-devedition
|
||||||
|
fzf
|
||||||
|
git
|
||||||
|
haskell-language-server
|
||||||
|
haskellPackages.pandoc-crossref
|
||||||
|
haskellPackages.hadolint
|
||||||
|
htop
|
||||||
|
jq
|
||||||
|
keepassxc
|
||||||
|
kitty
|
||||||
|
lua-language-server
|
||||||
|
# neovim
|
||||||
|
nixfmt-rfc-style
|
||||||
|
nmap
|
||||||
|
nodejs_24
|
||||||
|
nodePackages.ts-node
|
||||||
|
nvimpager
|
||||||
|
ormolu
|
||||||
|
pandoc
|
||||||
|
parallel
|
||||||
|
pass
|
||||||
|
pnpm
|
||||||
|
ripgrep
|
||||||
|
silver-searcher
|
||||||
|
sshfs
|
||||||
|
stylelint
|
||||||
|
svelte-language-server
|
||||||
|
tailwindcss-language-server
|
||||||
|
taskwarrior3
|
||||||
|
tldr
|
||||||
|
tmux
|
||||||
|
tmuxp
|
||||||
|
tree
|
||||||
|
tree-sitter
|
||||||
|
typescript-language-server
|
||||||
|
unzip
|
||||||
|
vim-language-server
|
||||||
|
vimPlugins.vim-plug
|
||||||
|
vtsls
|
||||||
|
wget
|
||||||
|
xbanish
|
||||||
|
xclip
|
||||||
|
yaml-language-server
|
||||||
|
];
|
||||||
|
|
||||||
|
home.file = {
|
||||||
|
".inputrc".source = ../../../dots/.inputrc;
|
||||||
|
".bashrc.d/prompt".source = ../../../dots/.bashrc.d/prompt;
|
||||||
|
".bashrc.d/editor".source = ../../../dots/.bashrc.d/editor;
|
||||||
|
".bash_aliases/all".source = ../../../dots/.bash_aliases/all;
|
||||||
|
".bash_aliases/lang-js".source = ../../../dots/.bash_aliases/lang-js;
|
||||||
|
".config/kitty/kitty.conf".source = ../../../dots/.config/kitty/kitty.conf;
|
||||||
|
".config/kitty/themes/zenwritten_light.conf".source =
|
||||||
|
../../../dots/.config/kitty/themes/zenwritten_light.conf;
|
||||||
|
".config/kitty/themes/zenwritten_dark.conf".source =
|
||||||
|
../../../dots/.config/kitty/themes/zenwritten_dark.conf;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,100 +1 @@
|
||||||
{ config, pkgs, ... }:
|
import ../astyanax
|
||||||
|
|
||||||
{
|
|
||||||
home.stateVersion = "25.05";
|
|
||||||
|
|
||||||
home.username = "h";
|
|
||||||
home.homeDirectory = "/home/h";
|
|
||||||
|
|
||||||
programs = {
|
|
||||||
bash = {
|
|
||||||
enable = true;
|
|
||||||
enableCompletion = true;
|
|
||||||
initExtra = ''
|
|
||||||
for f in ${config.home.homeDirectory}/.bashrc.d/*; do
|
|
||||||
[ -f "$f" ] && source "$f"
|
|
||||||
done
|
|
||||||
|
|
||||||
source ${config.home.homeDirectory}/.bash_aliases/all
|
|
||||||
source ${config.home.homeDirectory}/.bash_aliases/lang-js
|
|
||||||
|
|
||||||
# host-specific config goes here
|
|
||||||
# ...
|
|
||||||
|
|
||||||
export PATH=${../../../dots/.bin}:$PATH
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
firefox.enable = true;
|
|
||||||
fzf = {
|
|
||||||
enable = true;
|
|
||||||
enableBashIntegration = true;
|
|
||||||
};
|
|
||||||
git.enable = true;
|
|
||||||
home-manager.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
bash-completion
|
|
||||||
bash-language-server
|
|
||||||
bat
|
|
||||||
brightnessctl
|
|
||||||
entr
|
|
||||||
eslint_d
|
|
||||||
feh
|
|
||||||
firefox-devedition
|
|
||||||
fzf
|
|
||||||
git
|
|
||||||
haskell-language-server
|
|
||||||
haskellPackages.pandoc-crossref
|
|
||||||
haskellPackages.hadolint
|
|
||||||
htop
|
|
||||||
jq
|
|
||||||
keepassxc
|
|
||||||
kitty
|
|
||||||
lua-language-server
|
|
||||||
# neovim
|
|
||||||
nmap
|
|
||||||
nodejs_24
|
|
||||||
nodePackages.ts-node
|
|
||||||
nvimpager
|
|
||||||
ormolu
|
|
||||||
pandoc
|
|
||||||
parallel
|
|
||||||
pass
|
|
||||||
pnpm
|
|
||||||
ripgrep
|
|
||||||
silver-searcher
|
|
||||||
sshfs
|
|
||||||
stylelint
|
|
||||||
svelte-language-server
|
|
||||||
tailwindcss-language-server
|
|
||||||
taskwarrior3
|
|
||||||
tldr
|
|
||||||
tmux
|
|
||||||
tmuxp
|
|
||||||
tree
|
|
||||||
tree-sitter
|
|
||||||
typescript-language-server
|
|
||||||
unzip
|
|
||||||
vim-language-server
|
|
||||||
vimPlugins.vim-plug
|
|
||||||
vtsls
|
|
||||||
wget
|
|
||||||
xbanish
|
|
||||||
xclip
|
|
||||||
yaml-language-server
|
|
||||||
];
|
|
||||||
|
|
||||||
home.file = {
|
|
||||||
".inputrc".source = ../../../dots/.inputrc;
|
|
||||||
".bashrc.d/prompt".source = ../../../dots/.bashrc.d/prompt;
|
|
||||||
".bashrc.d/editor".source = ../../../dots/.bashrc.d/editor;
|
|
||||||
".bash_aliases/all".source = ../../../dots/.bash_aliases/all;
|
|
||||||
".bash_aliases/lang-js".source = ../../../dots/.bash_aliases/lang-js;
|
|
||||||
".config/kitty/kitty.conf".source = ../../../dots/.config/kitty/kitty.conf;
|
|
||||||
".config/kitty/themes/zenwritten_light.conf".source =
|
|
||||||
../../../dots/.config/kitty/themes/zenwritten_light.conf;
|
|
||||||
".config/kitty/themes/zenwritten_dark.conf".source =
|
|
||||||
../../../dots/.config/kitty/themes/zenwritten_dark.conf;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
{ pkgs, config, ... }:
|
{ pkgs, config, ... }:
|
||||||
|
|
||||||
with pkgs; [ ]
|
with pkgs;
|
||||||
|
[ ]
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,46 @@
|
||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
system.stateVersion = "25.05";
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./hard.nix
|
||||||
|
../../modules/bootloader.nix
|
||||||
|
../../modules/disko.zfs-encrypted-root.nix
|
||||||
|
../../modules/keyboard
|
||||||
|
../../modules/networking.nix
|
||||||
|
../../modules/users.nix
|
||||||
|
../../modules/audio.nix
|
||||||
|
../../modules/printing.nix
|
||||||
|
../../modules/localization.nix
|
||||||
|
../../modules/fonts
|
||||||
|
../../modules/ssh/hardened-openssh.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
nix.settings.experimental-features = [
|
||||||
|
"nix-command"
|
||||||
|
"flakes"
|
||||||
|
];
|
||||||
|
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
|
services.xserver = {
|
||||||
|
displayManager.gdm.enable = true;
|
||||||
|
displayManager.gdm.wayland = true;
|
||||||
|
desktopManager.gnome.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
home-manager = {
|
||||||
|
useGlobalPkgs = true;
|
||||||
|
useUserPackages = true;
|
||||||
|
users.h = ../../home/hosts/astyanax;
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.hostId = "80eef97e";
|
||||||
|
networking.firewall.allowedTCPPorts = [ 22 ];
|
||||||
|
services.openssh = {
|
||||||
|
enable = true;
|
||||||
|
harden = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,38 @@
|
||||||
|
# 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,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [
|
||||||
|
"xhci_pci"
|
||||||
|
"thunderbolt"
|
||||||
|
"nvme"
|
||||||
|
"uas"
|
||||||
|
"sd_mod"
|
||||||
|
];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.wlan0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
||||||
|
|
@ -23,6 +23,8 @@
|
||||||
"flakes"
|
"flakes"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
disko = {
|
disko = {
|
||||||
devices.disk.main.device = "/dev/vda";
|
devices.disk.main.device = "/dev/vda";
|
||||||
devices.disk.main.imageName = "nixos-vm";
|
devices.disk.main.imageName = "nixos-vm";
|
||||||
|
|
@ -41,8 +43,6 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue