mirror of
https://git.sr.ht/~roxwize/.dotfiles
synced 2025-04-03 18:14:15 +00:00
~
This commit is contained in:
parent
f80f844343
commit
65dc01e1d1
4 changed files with 218 additions and 213 deletions
23
nixos/hosts/base.nix
Normal file
23
nixos/hosts/base.nix
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
{ pkgs, ... }: {
|
||||||
|
nix.settings = {
|
||||||
|
experimental-features = [ "nix-command" "flakes" ];
|
||||||
|
trusted-users = [ "root" "rae" ];
|
||||||
|
};
|
||||||
|
nixpkgs = {
|
||||||
|
config.allowUnfree = true;
|
||||||
|
overlays = import ../overlays.nix inputs;
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users.rae = {
|
||||||
|
isNormalUser = true;
|
||||||
|
extraGroups = [ "wheel" "docker" "jackaudio" ];
|
||||||
|
hashedPassword = "$y$j9T$YPq.Kl8rss1JmJ5Vg6cHE/$2kdfzCkkhaO.I4u714EQnS/ZFert5byisiRVxtC.9G2";
|
||||||
|
shell = pkgs.fish;
|
||||||
|
};
|
||||||
|
|
||||||
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
console = {
|
||||||
|
font = "gr928-8x16-thin"; # https://adeverteuil.github.io/linux-console-fonts-screenshots/
|
||||||
|
keyMap = "us";
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,170 +1,148 @@
|
||||||
{ config, pkgs, inputs, ... }:
|
{ config, pkgs, inputs, ... }: {
|
||||||
{
|
imports = [
|
||||||
imports = [
|
inputs.nix-flatpak.nixosModules.nix-flatpak
|
||||||
inputs.nix-flatpak.nixosModules.nix-flatpak
|
../base.nix
|
||||||
../packages.nix
|
../packages.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
|
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
|
||||||
extraModprobeConfig = ''
|
extraModprobeConfig = ''
|
||||||
options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1
|
options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1
|
||||||
'';
|
'';
|
||||||
supportedFilesystems = [ "ntfs" ];
|
supportedFilesystems = [ "ntfs" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
security.polkit.enable = true;
|
security.polkit.enable = true;
|
||||||
|
|
||||||
nix.settings = {
|
networking.networkmanager.enable = true;
|
||||||
experimental-features = [ "nix-command" "flakes" ];
|
|
||||||
trusted-users = [ "root" "rae" ];
|
|
||||||
};
|
|
||||||
nixpkgs = {
|
|
||||||
config.allowUnfree = true;
|
|
||||||
overlays = import ../overlays.nix inputs;
|
|
||||||
};
|
|
||||||
|
|
||||||
networking.networkmanager.enable = true;
|
programs = {
|
||||||
|
dconf.enable = true;
|
||||||
|
firefox.enable = true;
|
||||||
|
fish.enable = true;
|
||||||
|
gnupg.agent = {
|
||||||
|
enable = true;
|
||||||
|
enableSSHSupport = true;
|
||||||
|
};
|
||||||
|
nix-ld.enable = true;
|
||||||
|
steam = {
|
||||||
|
enable = true;
|
||||||
|
remotePlay.openFirewall = true;
|
||||||
|
dedicatedServer.openFirewall = true;
|
||||||
|
localNetworkGameTransfers.openFirewall = true;
|
||||||
|
};
|
||||||
|
thunderbird = {
|
||||||
|
enable = true;
|
||||||
|
policies.DisableTelemetry = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
users.users.rae = {
|
services = {
|
||||||
isNormalUser = true;
|
# Xorg
|
||||||
extraGroups = [ "wheel" "docker" "jackaudio" ];
|
xserver = {
|
||||||
hashedPassword = "$y$j9T$YPq.Kl8rss1JmJ5Vg6cHE/$2kdfzCkkhaO.I4u714EQnS/ZFert5byisiRVxtC.9G2";
|
enable = true;
|
||||||
shell = pkgs.fish;
|
xkb.layout = "us";
|
||||||
};
|
windowManager = {
|
||||||
|
cwm.enable = true;
|
||||||
|
openbox.enable = true;
|
||||||
|
twm.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
displayManager = {
|
||||||
|
sddm = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
Autologin = {
|
||||||
|
User = "rae";
|
||||||
|
Session = "none+openbox";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
theme = "catppuccin-mocha";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
programs = {
|
# Touchpad support
|
||||||
dconf.enable = true;
|
libinput.enable = true;
|
||||||
firefox.enable = true;
|
# Sound
|
||||||
fish.enable = true;
|
pipewire = {
|
||||||
gnupg.agent = {
|
enable = true;
|
||||||
enable = true;
|
alsa.enable = true;
|
||||||
enableSSHSupport = true;
|
pulse.enable = true;
|
||||||
};
|
jack.enable = true;
|
||||||
nix-ld.enable = true;
|
};
|
||||||
steam = {
|
# CUPS printing
|
||||||
enable = true;
|
# Can be configured at http://127.0.0.1:631/
|
||||||
remotePlay.openFirewall = true;
|
# Local printers are host-specific (see `hardware.printers`)
|
||||||
dedicatedServer.openFirewall = true;
|
# Avahi enables IPP Everywhere
|
||||||
localNetworkGameTransfers.openFirewall = true;
|
printing.enable = true;
|
||||||
};
|
avahi = {
|
||||||
thunderbird = {
|
enable = true;
|
||||||
enable = true;
|
nssmdns4 = true;
|
||||||
policies.DisableTelemetry = true;
|
openFirewall = true;
|
||||||
};
|
};
|
||||||
};
|
# misc
|
||||||
|
blueman.enable = true;
|
||||||
|
flatpak.enable = true;
|
||||||
|
openssh = {
|
||||||
|
enable = true;
|
||||||
|
knownHosts =
|
||||||
|
let
|
||||||
|
host = name: key: {
|
||||||
|
name = name;
|
||||||
|
value = {
|
||||||
|
hostNames = [ name ];
|
||||||
|
publicKey = key;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
|
||||||
|
} // builtins.listToAttrs [
|
||||||
|
(host "git.sr.ht" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMZvRd4EtM7R+IHVMWmDkVU3VLQTSwQDSAvW0t2Tkj60")
|
||||||
|
(host "github.com" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl")
|
||||||
|
(host "hackclub.app" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ3pezDUZG+4bPRZg2znAuuMp42AL+rc1HGUltnNf8cA")
|
||||||
|
(host "verygay.world" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICMql669TiEneexyQsUWfCo9ouEJwk3f21d9chpBqFge")
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
services = {
|
hardware = {
|
||||||
# Xorg
|
bluetooth = {
|
||||||
xserver = {
|
enable = true;
|
||||||
enable = true;
|
powerOnBoot = true;
|
||||||
xkb.layout = "us";
|
};
|
||||||
windowManager = {
|
opentabletdriver.enable = true;
|
||||||
cwm.enable = true;
|
};
|
||||||
openbox.enable = true;
|
|
||||||
twm.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
displayManager = {
|
|
||||||
sddm = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
Autologin = {
|
|
||||||
User = "rae";
|
|
||||||
Session = "none+openbox";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
theme = "catppuccin-mocha";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Touchpad support
|
xdg.portal = {
|
||||||
libinput.enable = true;
|
enable = true;
|
||||||
# Sound
|
config = {
|
||||||
pipewire = {
|
common = {
|
||||||
enable = true;
|
default = [ "gtk" ];
|
||||||
alsa.enable = true;
|
};
|
||||||
pulse.enable = true;
|
};
|
||||||
jack.enable = true;
|
extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
|
||||||
};
|
};
|
||||||
# CUPS printing
|
|
||||||
# Can be configured at http://127.0.0.1:631/
|
|
||||||
# Local printers are host-specific (see `hardware.printers`)
|
|
||||||
# Avahi enables IPP Everywhere
|
|
||||||
printing.enable = true;
|
|
||||||
avahi = {
|
|
||||||
enable = true;
|
|
||||||
nssmdns4 = true;
|
|
||||||
openFirewall = true;
|
|
||||||
};
|
|
||||||
# misc
|
|
||||||
blueman.enable = true;
|
|
||||||
flatpak.enable = true;
|
|
||||||
openssh = {
|
|
||||||
enable = true;
|
|
||||||
knownHosts =
|
|
||||||
let
|
|
||||||
host = name: key: {
|
|
||||||
name = name;
|
|
||||||
value = {
|
|
||||||
hostNames = [ name ];
|
|
||||||
publicKey = key;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
|
|
||||||
} // builtins.listToAttrs [
|
|
||||||
(host "git.sr.ht" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMZvRd4EtM7R+IHVMWmDkVU3VLQTSwQDSAvW0t2Tkj60")
|
|
||||||
(host "github.com" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl")
|
|
||||||
(host "hackclub.app" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ3pezDUZG+4bPRZg2znAuuMp42AL+rc1HGUltnNf8cA")
|
|
||||||
(host "verygay.world" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICMql669TiEneexyQsUWfCo9ouEJwk3f21d9chpBqFge")
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
hardware = {
|
fonts = {
|
||||||
bluetooth = {
|
enableDefaultPackages = true;
|
||||||
enable = true;
|
fontconfig = {
|
||||||
powerOnBoot = true;
|
enable = true;
|
||||||
};
|
defaultFonts = {
|
||||||
opentabletdriver.enable = true;
|
emoji = [ "Twitter Color Emoji" "Noto Color Emoji" ];
|
||||||
};
|
monospace = [ "Fira Code Light" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
packages = with pkgs; [
|
||||||
|
fira-code
|
||||||
|
gohufont
|
||||||
|
nasin-nanpa
|
||||||
|
noto-fonts
|
||||||
|
noto-fonts-cjk-sans
|
||||||
|
noto-fonts-emoji
|
||||||
|
twemoji-color-font
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
xdg.portal = {
|
virtualisation.docker.enable = true;
|
||||||
enable = true;
|
|
||||||
config = {
|
|
||||||
common = {
|
|
||||||
default = [ "gtk" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
|
|
||||||
};
|
|
||||||
|
|
||||||
fonts = {
|
|
||||||
enableDefaultPackages = true;
|
|
||||||
fontconfig = {
|
|
||||||
enable = true;
|
|
||||||
defaultFonts = {
|
|
||||||
emoji = [ "Twitter Color Emoji" "Noto Color Emoji" ];
|
|
||||||
monospace = [ "Fira Code Light" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
packages = with pkgs; [
|
|
||||||
fira-code
|
|
||||||
gohufont
|
|
||||||
nasin-nanpa
|
|
||||||
noto-fonts
|
|
||||||
noto-fonts-cjk-sans
|
|
||||||
noto-fonts-emoji
|
|
||||||
twemoji-color-font
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
|
||||||
console = {
|
|
||||||
font = "gr928-8x16-thin"; # https://adeverteuil.github.io/linux-console-fonts-screenshots/
|
|
||||||
keyMap = "us";
|
|
||||||
};
|
|
||||||
|
|
||||||
virtualisation.docker.enable = true;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,63 +1,66 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
../desktop.nix
|
../desktop.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.loader = {
|
boot = {
|
||||||
efi = {
|
binfmt.emulatedSystems = [ "aarch64-linux" ];
|
||||||
canTouchEfiVariables = false;
|
loader = {
|
||||||
efiSysMountPoint = "/efi";
|
efi = {
|
||||||
};
|
canTouchEfiVariables = false;
|
||||||
grub = {
|
efiSysMountPoint = "/efi";
|
||||||
enable = true;
|
};
|
||||||
efiSupport = true;
|
grub = {
|
||||||
efiInstallAsRemovable = true;
|
enable = true;
|
||||||
devices = [ "nodev" ];
|
efiSupport = true;
|
||||||
};
|
efiInstallAsRemovable = true;
|
||||||
};
|
devices = [ "nodev" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
# Music pendrive
|
# Music pendrive
|
||||||
fileSystems."/mnt/world" = {
|
fileSystems."/mnt/world" = {
|
||||||
device = "/dev/disk/by-uuid/639bae80-0f5d-481c-ae4e-d2c70f754a1c";
|
device = "/dev/disk/by-uuid/639bae80-0f5d-481c-ae4e-d2c70f754a1c";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
neededForBoot = false;
|
neededForBoot = false;
|
||||||
};
|
};
|
||||||
# Big fucking thing
|
# Big fucking thing
|
||||||
fileSystems."/mnt/rae2" = {
|
fileSystems."/mnt/rae2" = {
|
||||||
device = "/dev/disk/by-uuid/fbbcc72f-34af-425c-9151-ef8919a6ae07";
|
device = "/dev/disk/by-uuid/fbbcc72f-34af-425c-9151-ef8919a6ae07";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
neededForBoot = false;
|
neededForBoot = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
networking.hostName = "ioides";
|
networking.hostName = "ioides";
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
xserver.videoDrivers = [ "nvidia" ];
|
xserver.videoDrivers = [ "nvidia" ];
|
||||||
};
|
};
|
||||||
hardware = {
|
hardware = {
|
||||||
graphics = {
|
graphics = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
||||||
intel-media-sdk
|
intel-media-sdk
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
nvidia = {
|
nvidia = {
|
||||||
modesetting.enable = true;
|
modesetting.enable = true;
|
||||||
powerManagement = {
|
powerManagement = {
|
||||||
enable = false;
|
enable = false;
|
||||||
finegrained = false;
|
finegrained = false;
|
||||||
};
|
};
|
||||||
open = false;
|
open = false;
|
||||||
nvidiaSettings = true;
|
nvidiaSettings = true;
|
||||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
fonts.fontconfig.subpixel.rgba = "rgb";
|
fonts.fontconfig.subpixel.rgba = "rgb";
|
||||||
|
|
||||||
time.timeZone = "America/New_York";
|
time.timeZone = "America/New_York";
|
||||||
|
|
||||||
system.stateVersion = "24.11";
|
system.stateVersion = "24.11";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
inputs.raspberry-pi-nix.nixosModules.raspberry-pi
|
inputs.raspberry-pi-nix.nixosModules.raspberry-pi
|
||||||
inputs.raspberry-pi-nix.nixosModules.sd-image
|
inputs.raspberry-pi-nix.nixosModules.sd-image
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
|
../base.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
networking.hostName = "near";
|
networking.hostName = "near";
|
||||||
|
|
Loading…
Add table
Reference in a new issue