forked from natto1784/dotfiles
add host Remilia
This commit is contained in:
1
hosts/personal/README.md
Normal file
1
hosts/personal/README.md
Normal file
@@ -0,0 +1 @@
|
||||
Satori is my home laptop
|
||||
34
hosts/personal/boot.nix
Normal file
34
hosts/personal/boot.nix
Normal file
@@ -0,0 +1,34 @@
|
||||
{lib, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
boot = {
|
||||
kernelPackages = pkgs.linuxPackagesFor (pkgs.linux_zen.override {
|
||||
structuredExtraConfig = with lib.kernel; {
|
||||
CONFIG_SCHED_MUQSS = yes;
|
||||
};
|
||||
ignoreConfigErrors = true;
|
||||
});
|
||||
initrd={
|
||||
availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod"];
|
||||
kernelModules = [ ];
|
||||
};
|
||||
kernelModules = [ "kvm-intel"];
|
||||
extraModulePackages = [ config.boot.kernelPackages.nvidia_x11 ];
|
||||
loader = {
|
||||
efi = {
|
||||
canTouchEfiVariables = true;
|
||||
efiSysMountPoint = "/boot/efi";
|
||||
};
|
||||
grub = {
|
||||
enable = true;
|
||||
useOSProber = true;
|
||||
efiSupport = true;
|
||||
device = "nodev";
|
||||
splashImage = ./cirno.png;
|
||||
splashMode = "stretch";
|
||||
configurationName = "nixbruh";
|
||||
};
|
||||
};
|
||||
kernelParams = [ "nvidia-drm.modeset=1" "intel_pstate=active"];
|
||||
};
|
||||
}
|
||||
BIN
hosts/personal/cirno.png
Normal file
BIN
hosts/personal/cirno.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 34 KiB |
51
hosts/personal/hardware.nix
Normal file
51
hosts/personal/hardware.nix
Normal file
@@ -0,0 +1,51 @@
|
||||
{ config, lib, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/4c02ddf5-d00e-4d84-856f-c327ae44d047";
|
||||
fsType = "btrfs";
|
||||
options = ["compress-force=zstd:2"];
|
||||
};
|
||||
|
||||
fileSystems."/boot/efi" =
|
||||
{ device = "/dev/disk/by-uuid/58B1-4631";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
fileSystems."/home" =
|
||||
{ device = "/dev/nvme0n1p6";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/mnt/Stuff" =
|
||||
{ device = "/dev/sda2";
|
||||
fsType = "ntfs";
|
||||
options = ["uid=natto" "gid=users" "umask=0022" "rw"];
|
||||
};
|
||||
fileSystems."/mnt/Games" =
|
||||
{ device = "/dev/sda4";
|
||||
fsType = "ntfs";
|
||||
options = ["uid=natto" "gid=users" "umask=0022" "rw"];
|
||||
};
|
||||
fileSystems."/mnt/Extra" =
|
||||
{ device = "/dev/sda3";
|
||||
fsType = "ntfs";
|
||||
options = ["uid=natto" "gid=users" "umask=0022" "rw"];
|
||||
};
|
||||
fileSystems."/mnt/LinuxGames" =
|
||||
{ device = "/dev/sda5";
|
||||
fsType = "btrfs";
|
||||
options = ["rw" "compress-force=zstd:2"];
|
||||
};
|
||||
|
||||
swapDevices = [ {device = "/dev/nvme0n1p7";} ];
|
||||
powerManagement = {
|
||||
enable = true;
|
||||
cpuFreqGovernor = "powersave";
|
||||
};
|
||||
}
|
||||
21
hosts/personal/networking.nix
Normal file
21
hosts/personal/networking.nix
Normal file
@@ -0,0 +1,21 @@
|
||||
{config, ... }:
|
||||
|
||||
{
|
||||
networking = {
|
||||
hostName = "Satori";
|
||||
wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||
firewall.allowedTCPPorts = [ 22 ];
|
||||
interfaces = {
|
||||
enp7s0.useDHCP = true;
|
||||
wlp0s20f3 = {
|
||||
useDHCP = true;
|
||||
ipv4.addresses = [ {
|
||||
prefixLength = 24;
|
||||
address = "192.168.0.109";
|
||||
} ];
|
||||
};
|
||||
};
|
||||
defaultGateway = "192.168.0.1";
|
||||
nameservers = [ "1.1.1.1" "8.8.8.8" ];
|
||||
};
|
||||
}
|
||||
51
hosts/personal/pkgs.nix
Normal file
51
hosts/personal/pkgs.nix
Normal file
@@ -0,0 +1,51 @@
|
||||
{lib, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
bc
|
||||
gnumake
|
||||
pciutils
|
||||
git
|
||||
ntfs3g
|
||||
python3
|
||||
htop
|
||||
nodejs
|
||||
wineWowPackages.staging
|
||||
wget
|
||||
ripgrep
|
||||
kbd
|
||||
cachix
|
||||
gcc
|
||||
rustc
|
||||
jdk
|
||||
];
|
||||
|
||||
programs = {
|
||||
steam.enable = true;
|
||||
gnupg = {
|
||||
agent = {
|
||||
enableSSHSupport = true;
|
||||
enable = true;
|
||||
pinentryFlavor = "curses";
|
||||
};
|
||||
};
|
||||
zsh = {
|
||||
enable = true;
|
||||
promptInit = "PROMPT='%B%F{cyan}%~ %F{blue}〉%f%b'\nRPROMPT='%B%F{cyan}%n%f@%F{red}%m%b'";
|
||||
histSize = 12000;
|
||||
enableCompletion = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
autosuggestions. enable = true;
|
||||
ohMyZsh.enable = true;
|
||||
};
|
||||
dconf.enable = true;
|
||||
adb.enable = true;
|
||||
};
|
||||
nix = {
|
||||
package = pkgs.nixUnstable;
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command ca-references flakes
|
||||
'';
|
||||
trustedUsers = [ "root" "natto" ];
|
||||
};
|
||||
}
|
||||
17
hosts/personal/satori.nix
Normal file
17
hosts/personal/satori.nix
Normal file
@@ -0,0 +1,17 @@
|
||||
{ lib, config, ...}:
|
||||
{
|
||||
imports =
|
||||
[
|
||||
./satori/hardware.nix
|
||||
./satori/stuff.nix
|
||||
./satori/pkgs.nix
|
||||
./satori/networking.nix
|
||||
./satori/boot.nix
|
||||
./satori/services.nix
|
||||
./common/nvidia-offload.nix
|
||||
./common/pipewire.nix
|
||||
./common/xorg.nix
|
||||
./configs/nvim.nix
|
||||
];
|
||||
system.stateVersion = "20.09";
|
||||
}
|
||||
38
hosts/personal/services.nix
Normal file
38
hosts/personal/services.nix
Normal file
@@ -0,0 +1,38 @@
|
||||
{lib, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
systemd.services.nbfc = {
|
||||
description = "Notebook Fancontrol";
|
||||
wantedBy = lib.mkForce [];
|
||||
serviceConfig = {
|
||||
Type = "forking";
|
||||
Restart = "on-failure";
|
||||
ExecStart = "${pkgs.mono}/bin/mono-service -l:/run/nbfc.pid -m:NbfcService /opt/nbfc/NbfcService.exe";
|
||||
ExecStop = "kill -SIGTERM $(cat /run/nbfc.pid)";
|
||||
PIDFile = "/run/nbfc.pid";
|
||||
};
|
||||
};
|
||||
services = {
|
||||
tor.enable = true;
|
||||
logmein-hamachi.enable = true;
|
||||
mysql = {
|
||||
enable = true;
|
||||
package = pkgs.mysql;
|
||||
dataDir = "/var/db";
|
||||
};
|
||||
sshd.enable = true;
|
||||
/* vault = {
|
||||
enable = true;
|
||||
storageBackend = "mysql";
|
||||
storagePath = "/var/db";
|
||||
};*/
|
||||
};
|
||||
systemd.services = {
|
||||
tor.wantedBy = lib.mkForce [];
|
||||
logmein-hamachi.wantedBy = lib.mkForce [];
|
||||
sshd.wantedBy = lib.mkForce [];
|
||||
mysql.wantedBy = lib.mkForce [];
|
||||
#printing.wantedBy = lib.mkForce [];
|
||||
#vault.wantedBy = lib.mkForce [];
|
||||
};
|
||||
}
|
||||
39
hosts/personal/stuff.nix
Normal file
39
hosts/personal/stuff.nix
Normal file
@@ -0,0 +1,39 @@
|
||||
{config, agenix, pkgs, ... }:
|
||||
{
|
||||
time.timeZone = "Asia/Kolkata";
|
||||
environment = {
|
||||
sessionVariables = {
|
||||
QT_X11_NO_MITSHM="1";
|
||||
QT_QPA_PLATFORMTHEME = "gtk3";
|
||||
};
|
||||
};
|
||||
security={
|
||||
sudo.enable = false;
|
||||
doas = {
|
||||
enable = true;
|
||||
extraRules = [
|
||||
{
|
||||
users = [ "natto" ];
|
||||
keepEnv = true;
|
||||
persist = true;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
nix.gc = {
|
||||
automatic = false;
|
||||
dates = "20:15";
|
||||
};
|
||||
fonts.fonts = with pkgs; [
|
||||
fira-mono
|
||||
font-awesome
|
||||
vistafonts
|
||||
noto-fonts-cjk
|
||||
];
|
||||
users.users.natto = {
|
||||
isNormalUser = true;
|
||||
shell = pkgs.zsh;
|
||||
home = "/home/natto";
|
||||
extraGroups = [ "wheel" "adbusers" ];
|
||||
};
|
||||
}
|
||||
15
hosts/servers/marisa.nix
Executable file
15
hosts/servers/marisa.nix
Executable file
@@ -0,0 +1,15 @@
|
||||
{lib, config, ...}:
|
||||
{
|
||||
imports =
|
||||
[
|
||||
./pkgs.nix
|
||||
./stuff.nix
|
||||
./marisa/networking.nix
|
||||
./marisa/hardware.nix
|
||||
./marisa/boot.nix
|
||||
./marisa/services.nix
|
||||
./marisa/cachix.nix
|
||||
../../configs/nvim.nix
|
||||
];
|
||||
system.stateVersion = "21.05";
|
||||
}
|
||||
15
hosts/servers/marisa/boot.nix
Executable file
15
hosts/servers/marisa/boot.nix
Executable file
@@ -0,0 +1,15 @@
|
||||
{config, ...}:
|
||||
{
|
||||
boot = {
|
||||
initrd.availableKernelModules = [ "xhci_pci" "usb_storage" "usbhid" "uas" "pcie-brcmstb"];
|
||||
loader = {
|
||||
grub.enable = false;
|
||||
generic-extlinux-compatible.enable= true;
|
||||
raspberryPi= {
|
||||
version = 4;
|
||||
firmwareConfig = "dtparam=sd_poll_once=on";
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
14
hosts/servers/marisa/cachix.nix
Normal file
14
hosts/servers/marisa/cachix.nix
Normal file
@@ -0,0 +1,14 @@
|
||||
|
||||
# WARN: this file will get overwritten by $ cachix use <name>
|
||||
{ pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
folder = ./cachix;
|
||||
toImport = name: value: folder + ("/" + name);
|
||||
filterCaches = key: value: value == "regular" && lib.hasSuffix ".nix" key;
|
||||
imports = lib.mapAttrsToList toImport (lib.filterAttrs filterCaches (builtins.readDir folder));
|
||||
in {
|
||||
inherit imports;
|
||||
nix.binaryCaches = ["https://cache.nixos.org/"];
|
||||
}
|
||||
|
||||
12
hosts/servers/marisa/cachix/rpi4.nix
Normal file
12
hosts/servers/marisa/cachix/rpi4.nix
Normal file
@@ -0,0 +1,12 @@
|
||||
|
||||
{
|
||||
nix = {
|
||||
binaryCaches = [
|
||||
"https://rpi4.cachix.org"
|
||||
];
|
||||
binaryCachePublicKeys = [
|
||||
"rpi4.cachix.org-1:fMaYBuIlj/Sa9YTXnXMXoXnVZEoVhnFxOkxseKKlku8="
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
28
hosts/servers/marisa/hardware.nix
Executable file
28
hosts/servers/marisa/hardware.nix
Executable file
@@ -0,0 +1,28 @@
|
||||
# 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, ... }:
|
||||
|
||||
{
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/44444444-4444-4444-8888-888888888888";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/nix/store" =
|
||||
{ device = "/nix/store";
|
||||
fsType = "none";
|
||||
options = [ "bind" ];
|
||||
};
|
||||
|
||||
swapDevices = [
|
||||
{
|
||||
device = "/swapfile";
|
||||
priority = 0;
|
||||
size = 10240;
|
||||
}
|
||||
];
|
||||
|
||||
powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand";
|
||||
hardware.firmware = [ pkgs.raspberrypiWirelessFirmware ];
|
||||
}
|
||||
22
hosts/servers/marisa/networking.nix
Executable file
22
hosts/servers/marisa/networking.nix
Executable file
@@ -0,0 +1,22 @@
|
||||
{config, ...}:
|
||||
{
|
||||
networking = {
|
||||
hostName = "Marisa";
|
||||
firewall.allowedTCPPorts = [ 22 80 ];
|
||||
wireless = {
|
||||
enable = false;
|
||||
iwd.enable = true;
|
||||
};
|
||||
interfaces = {
|
||||
wlan0 = {
|
||||
useDHCP = false;
|
||||
ipv4.addresses = [ {
|
||||
prefixLength = 24;
|
||||
address = "192.168.0.159";
|
||||
} ];
|
||||
};
|
||||
};
|
||||
defaultGateway = "192.168.0.1";
|
||||
nameservers = [ "1.1.1.1" "8.8.8.8" ];
|
||||
};
|
||||
}
|
||||
10
hosts/servers/marisa/services.nix
Executable file
10
hosts/servers/marisa/services.nix
Executable file
@@ -0,0 +1,10 @@
|
||||
{config, ...}:
|
||||
{
|
||||
services = {
|
||||
openssh = {
|
||||
enable = true;
|
||||
permitRootLogin = "yes";
|
||||
};
|
||||
tailscale.enable = true;
|
||||
};
|
||||
}
|
||||
34
hosts/servers/pkgs.nix
Executable file
34
hosts/servers/pkgs.nix
Executable file
@@ -0,0 +1,34 @@
|
||||
{lib, config, pkgs, ...}:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
git
|
||||
gnumake
|
||||
htop
|
||||
vim
|
||||
wireguard
|
||||
];
|
||||
programs = {
|
||||
zsh = {
|
||||
enable = true;
|
||||
promptInit = "PROMPT='%B%F{cyan}%~ %F{blue}>%f%b '\nRPROMPT='%B%F{cyan}%n%f@%F{red}%m%b'";
|
||||
histSize = 12000;
|
||||
enableCompletion = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
autosuggestions. enable = true;
|
||||
ohMyZsh.enable = true;
|
||||
};
|
||||
gnupg = {
|
||||
agent = {
|
||||
enable = true;
|
||||
pinentryFlavor = "curses";
|
||||
};
|
||||
};
|
||||
};
|
||||
nix = {
|
||||
package = pkgs.nixUnstable;
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command ca-references flakes
|
||||
'';
|
||||
trustedUsers = [ "root" ];
|
||||
};
|
||||
}
|
||||
15
hosts/servers/remilia.nix
Executable file
15
hosts/servers/remilia.nix
Executable file
@@ -0,0 +1,15 @@
|
||||
{lib, config, ...}:
|
||||
{
|
||||
imports =
|
||||
[
|
||||
./pkgs.nix
|
||||
./stuff.nix
|
||||
./remilia/networking.nix
|
||||
./remilia/hardware.nix
|
||||
./remilia/boot.nix
|
||||
./remilia/services.nix
|
||||
../../configs/nvim.nix
|
||||
];
|
||||
programs.gnupg.agent.enable = lib.mkForce false;
|
||||
system.stateVersion = "21.11";
|
||||
}
|
||||
13
hosts/servers/remilia/boot.nix
Executable file
13
hosts/servers/remilia/boot.nix
Executable file
@@ -0,0 +1,13 @@
|
||||
{config, ...}:
|
||||
{
|
||||
boot = {
|
||||
initrd.kernelModules = [ "bochs_drm" ];
|
||||
initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" ];
|
||||
kernelModules = [ "kvm-amd" ];
|
||||
kernelParams = [ "console=ttyS0" "console=tty1" "nvme.shutdown_timeout=10" "libiscsi.debug_libiscsi_eh=1" ];
|
||||
loader = {
|
||||
systemd-boot.enable = true;
|
||||
efi.canTouchEfiVariables = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
20
hosts/servers/remilia/hardware.nix
Normal file
20
hosts/servers/remilia/hardware.nix
Normal file
@@ -0,0 +1,20 @@
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/profiles/qemu-guest.nix")
|
||||
];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/d91adce2-9059-4a8a-86e7-dee6ecc85b2b";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
swapDevices = [
|
||||
{
|
||||
device="/swapfile";
|
||||
size = 7168;
|
||||
priority = 0;
|
||||
}
|
||||
];
|
||||
}
|
||||
13
hosts/servers/remilia/networking.nix
Executable file
13
hosts/servers/remilia/networking.nix
Executable file
@@ -0,0 +1,13 @@
|
||||
{config, ...}:
|
||||
{
|
||||
networking = {
|
||||
useDHCP = false;
|
||||
hostName = "Remilia";
|
||||
firewall.allowedTCPPorts = [ 22 80 ];
|
||||
interfaces = {
|
||||
ens3 = {
|
||||
useDHCP = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
12
hosts/servers/remilia/services.nix
Executable file
12
hosts/servers/remilia/services.nix
Executable file
@@ -0,0 +1,12 @@
|
||||
{config, ...}:
|
||||
{
|
||||
services = {
|
||||
openssh = {
|
||||
enable = true;
|
||||
permitRootLogin = "yes";
|
||||
};
|
||||
};
|
||||
users.users.root.openssh.authorizedKeys.keys = [
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJHingN2Aho+KGgEvBMjtoez+W1svl9uVoa4vG0d646j"
|
||||
];
|
||||
}
|
||||
26
hosts/servers/stuff.nix
Executable file
26
hosts/servers/stuff.nix
Executable file
@@ -0,0 +1,26 @@
|
||||
{config, pkgs, ...}:
|
||||
{
|
||||
time.timeZone = "Asia/Kolkata";
|
||||
environment = {
|
||||
sessionVariables = {
|
||||
EDITOR = "vim";
|
||||
};
|
||||
};
|
||||
security = {
|
||||
sudo.enable = false;
|
||||
doas = {
|
||||
enable = true;
|
||||
extraRules = [
|
||||
{
|
||||
users = [ ];
|
||||
keepEnv = true;
|
||||
persist = true;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
documentation.enable = false;
|
||||
users.extraUsers.root = {
|
||||
shell = pkgs.zsh;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user