This commit is contained in:
alyx 2025-11-22 06:03:55 +00:00
parent 43f8bc5995
commit fb4ad07620
No known key found for this signature in database
38 changed files with 128 additions and 2800 deletions

View file

@ -1,3 +0,0 @@
probably will no longer get maintained. in a complete slump. repo will not be archived.
commits will be purely maintenance to ensure all hosts remain buildable after flake updates.
this will be done on a monthly basis.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 163 KiB

View file

@ -1,160 +0,0 @@
# 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, fetchFromGitLab, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];
# Bootloader.
boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/sda";
boot.loader.grub.useOSProber = true;
powerManagement.cpuFreqGovernor = "performance";
nix.settings.experimental-features = "nix-command flakes";
programs.dconf.enable = true;
services.fprintd.enable = true;
networking.hostName = "adventurer"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
environment.variables = {
WLR_NO_HARDWARE_CURSORS = "1";
PASSWORD_STORE_DIR = "/home/maya/sync/general/pass";
};
programs.gnupg.agent.enable = true;
environment.pathsToLink = [ "/share/xdg-desktop-portal" ];
systemd = {
user.services.polkit-gnome-authentication-agent-1 = {
description = "polkit-gnome-authentication-agent-1";
wantedBy = [ "graphical-session.target" ];
wants = [ "graphical-session.target" ];
after = [ "graphical-session.target" ];
serviceConfig = {
Type = "simple";
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
Restart = "on-failure";
RestartSec = 1;
TimeoutStopSec = 10;
};
};
};
security.polkit.enable = true;
security.sudo.package = pkgs.sudo.override { withInsults = true; };
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Enable networking
networking.networkmanager.enable = true;
# Set your time zone.
time.timeZone = "Australia/Perth";
# Select internationalisation properties.
i18n.defaultLocale = "en_AU.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_AU.UTF-8";
LC_IDENTIFICATION = "en_AU.UTF-8";
LC_MEASUREMENT = "en_AU.UTF-8";
LC_MONETARY = "en_AU.UTF-8";
LC_NAME = "en_AU.UTF-8";
LC_NUMERIC = "en_AU.UTF-8";
LC_PAPER = "en_AU.UTF-8";
LC_TELEPHONE = "en_AU.UTF-8";
LC_TIME = "en_AU.UTF-8";
};
# Enable the X11 windowing system.
# You can disable this if you're only using the Wayland session.
services.xserver.enable = true;
# Enable the KDE Plasma Desktop Environment.
# Configure keymap in X11
services.xserver.xkb = {
layout = "us";
variant = "";
};
# Enable CUPS to print documents.
services.printing.enable = true;
# Enable sound with pipewire.
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;
};
# 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.maya = {
isNormalUser = true;
description = "Maya Wren";
extraGroups = [ "networkmanager" "wheel" ];
packages = with pkgs; [
# thunderbird
];
};
# Install firefox.
programs.firefox.enable = true;
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# 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
git
];
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# 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 = "24.11"; # Did you read the comment?
}

View file

@ -1,12 +0,0 @@
{config, pkgs, ...}:{
imports = [
./configuration.nix
../overrides.nix
../ssh.nix
../firewall.nix
../substituters.nix
../fonts.nix
../udev.nix
../greetd.nix
];
}

View file

@ -1,37 +0,0 @@
# 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 = [ "uhci_hcd" "ehci_pci" "ata_piix" "ahci" "firewire_ohci" "usb_storage" "usbhid" "sd_mod" "sr_mod" "sdhci_pci" ];
#boot.initrd.kernelModules = [ "nvidia" ];
boot.kernelModules = [ "kvm-intel" ];
boot.kernelPackages = pkgs.linuxPackages_zen;
fileSystems."/" =
{ device = "/dev/disk/by-uuid/be6662d9-e9c6-48a2-9557-672f5307816f";
fsType = "ext4";
};
swapDevices =
[ { device = "/dev/disk/by-uuid/87a05a1d-e62d-4882-ad5a-e2e6324671da"; }
];
# 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.enp0s29f7u2.useDHCP = lib.mkDefault true;
# networking.interfaces.enp9s0.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp12s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
networking.enableIntel3945ABGFirmware = true;
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -1,164 +0,0 @@
## 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, fetchFromGitLab, inputs, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];
# Bootloader.
boot.loader.limine.enable = true;
boot.loader.limine.style.wallpapers = [];
boot.loader.limine.additionalFiles = {
"efi/memtest86.efi" = "${pkgs.memtest86-efi}/BOOTX64.efi";
"efi/shell.efi" = "${pkgs.edk2-uefi-shell}/shell.efi";
};
boot.loader.limine.biosSupport = true;
boot.loader.limine.biosDevice = "/dev/sda";
powerManagement.cpuFreqGovernor = "performance";
nix.settings.experimental-features = "nix-command flakes";
programs.dconf.enable = true;
services.fprintd.enable = true;
networking.hostName = "anagonia"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
environment.variables = {
WLR_NO_HARDWARE_CURSORS = "1";
# PASSWORD_STORE_DIR = "/home/maya/sync/general/pass";
};
programs.gnupg.agent.enable = true;
environment.pathsToLink = [ "/share/xdg-desktop-portal" ];
systemd = {
user.services.polkit-gnome-authentication-agent-1 = {
description = "polkit-gnome-authentication-agent-1";
wantedBy = [ "graphical-session.target" ];
wants = [ "graphical-session.target" ];
after = [ "graphical-session.target" ];
serviceConfig = {
Type = "simple";
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
Restart = "on-failure";
RestartSec = 1;
TimeoutStopSec = 10;
};
};
};
security.polkit.enable = true;
security.sudo.package = pkgs.sudo.override { withInsults = true; };
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Enable networking
networking.networkmanager.enable = true;
# Set your time zone.
time.timeZone = "Europe/London";
# Select internationalisation properties.
i18n.defaultLocale = "en_AU.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_AU.UTF-8";
LC_IDENTIFICATION = "en_AU.UTF-8";
LC_MEASUREMENT = "en_AU.UTF-8";
LC_MONETARY = "en_AU.UTF-8";
LC_NAME = "en_AU.UTF-8";
LC_NUMERIC = "en_AU.UTF-8";
LC_PAPER = "en_AU.UTF-8";
LC_TELEPHONE = "en_AU.UTF-8";
LC_TIME = "en_AU.UTF-8";
};
# Enable the X11 windowing system.
# You can disable this if you're only using the Wayland session.
services.xserver.enable = true;
# Enable the KDE Plasma Desktop Environment.
# Configure keymap in X11
services.xserver.xkb = {
layout = "us";
variant = "";
};
# Enable CUPS to print documents.
services.printing.enable = true;
# Enable sound with pipewire.
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;
};
# 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.alyx = {
isNormalUser = true;
description = "Alyx";
extraGroups = [ "networkmanager" "wheel" ];
packages = with pkgs; [
# thunderbird
];
};
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# 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
inputs.niri.packages.${pkgs.stdenv.hostPlatform.system}.xwayland-satellite-stable
git
];
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# 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 = "24.11"; # Did you read the comment?
}

View file

@ -1,12 +0,0 @@
{config, pkgs, ...}:{
imports = [
./configuration.nix
../overrides.nix
../ssh.nix
../firewall.nix
../substituters.nix
../fonts.nix
../udev.nix
../greetd.nix
];
}

View file

@ -1,42 +0,0 @@
# 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 = [ "uhci_hcd" "ehci_pci" "ata_piix" "ahci" "firewire_ohci" "usb_storage" "usbhid" "sd_mod" "sr_mod" "sdhci_pci" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/dccf477b-3830-4387-b59e-a0a4bdd61b56";
fsType = "xfs";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/4376-FF3F";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/73cfbcd5-3307-4632-9016-89deb98b1004"; }
];
# 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.enp9s0.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp12s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
networking.enableIntel3945ABGFirmware = true;
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -1,24 +0,0 @@
(defcfg
input (device-file "/dev/input/by-id/usb-Razer_Razer_BlackWidow-event-kbd")
;; To understand the importance of the following line, see the section on
;; Compose-key sequences at the near-bottom of this file.
output (uinput-sink "blackwidow-colemak")
fallthrough true ;; Comment this if you want unhandled events not to be emitted
allow-cmd false ;; Set this to false to disable any command-execution in KMonad
)
(defsrc
grv 1 2 3 4 5 6 7 8 9 0 - = bspc
tab q w e r t y u i o p [ ] \
caps a s d f g h j k l ; ' ret
lsft z x c v b n m , . / rsft
lctl lmet lalt spc ralt rmet cmp rctl
)
(deflayer colemak
grv 1 2 3 4 5 6 7 8 9 0 - = bspc
tab q w f p g j l u y ; [ ] \
bspc a r s t d h n e i o ' ret
lsft z x c v b k m , . / rsft
lctl lmet lalt spc ralt rmet cmp rctl
)

View file

View file

@ -1,286 +0,0 @@
# 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, lib, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];
services.blueman.enable = true;
services.upower.enable = true;
hardware.i2c.enable = true;
hardware.openrazer.enable = true;
services.pcscd.enable = true;
services.tailscale = {
enable = true;
useRoutingFeatures = "both";
};
programs.nh = {
enable = true;
clean.enable = true;
clean.extraArgs = "--keep-since 4d --keep 3";
flake = "/home/maya/.config/nixos";
};
programs.adb.enable = true;
services.wivrn.enable = true;
services.wivrn.openFirewall = true;
services.wivrn.defaultRuntime = true;
programs.steam.extraCompatPackages = with pkgs; [ proton-ge-rtsp-bin ];
environment.pathsToLink = [ "/share/xdg-desktop-portal" ];
security.sudo.package = pkgs.sudo.override { withInsults = true; };
systemd = {
user.services.polkit-gnome-authentication-agent-1 = {
description = "polkit-gnome-authentication-agent-1";
wantedBy = [ "graphical-session.target" ];
wants = [ "graphical-session.target" ];
after = [ "graphical-session.target" ];
serviceConfig = {
Type = "simple";
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
Restart = "on-failure";
RestartSec = 1;
TimeoutStopSec = 10;
};
};
};
security.polkit.enable = true;
boot.loader.systemd-boot.enable = false;
boot.loader.limine = {
enable = true;
style.wallpapers = [ ];
additionalFiles = {
"efi/memtest86/memtest86.efi" = "${pkgs.memtest86-efi}/BOOTX64.efi";
"efi/shell.efi" = "${pkgs.edk2-uefi-shell}/shell.efi";
};
extraEntries = ''
/memtest86
protocol: efi
path: boot():/limine/efi/memtest86/memtest86.efi
/shell
protocol: efi
path: boot():/limine/efi/shell.efi
'';
};
boot.loader.efi.canTouchEfiVariables = true;
powerManagement.cpuFreqGovernor = "performance";
# Bootloader.
programs.virt-manager.enable = true;
services.gvfs.enable = true;
hardware.keyboard.qmk.enable = true;
virtualisation = {
libvirtd = {
enable = true;
extraConfig = ''
user="maya"
'';
onShutdown = "shutdown";
qemu = {
ovmf.enable = true;
package = pkgs.qemu_kvm;
runAsRoot = true;
verbatimConfig = ''
namespaces = []
'';
};
};
spiceUSBRedirection.enable = true;
};
systemd.packages = with pkgs; [lact];
services.udev.packages = with pkgs; [xr-hardware];
systemd.services.lactd.wantedBy = ["multi-user.target"];
networking.hostName = "apollo"; # Define your hostname.
services.udev.extraRules = ''
# Qualcomm EDL
SUBSYSTEMS=="usb", ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="9008", MODE="0666", GROUP="plugdev"
'';
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Enable networking
hardware.graphics = {
enable = true;
enable32Bit = true;
extraPackages = with pkgs; [mesa.opencl libvdpau-va-gl vaapiVdpau vulkan-validation-layers];
extraPackages32 = with pkgs; [driversi686Linux.amdvlk driversi686Linux.mesa.opencl];
};
environment.variables = {
ROC_ENABLE_PRE_VEGA = "1";
};
networking.networkmanager = {
enable = true;
wifi.backend = "iwd";
};
programs.gphoto2.enable = true;
# Set your time zone.
time.timeZone = "Australia/Perth";
# Select internationalisation properties.
i18n.defaultLocale = "en_AU.UTF-8";
nix.settings.experimental-features = "nix-command flakes";
services.udisks2.enable = true;
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_AU.UTF-8";
LC_IDENTIFICATION = "en_AU.UTF-8";
LC_MEASUREMENT = "en_AU.UTF-8";
LC_MONETARY = "en_AU.UTF-8";
LC_NAME = "en_AU.UTF-8";
LC_NUMERIC = "en_AU.UTF-8";
LC_PAPER = "en_AU.UTF-8";
LC_TELEPHONE = "en_AU.UTF-8";
LC_TIME = "en_AU.UTF-8";
};
# Enable the X11 windowing system.
services.xserver.enable = true;
programs.dconf.enable = true;
# Configure keymap in X11
services.xserver.xkb = {
layout = "us";
variant = "";
};
# Enable CUPS to print documents.
services.printing.enable = true;
nixpkgs.overlays = [
(self: super: {
vlc = super.vlc.override {
libbluray = super.libbluray.override {
withAACS = true;
withBDplus = true;
};
};
})
];
services.keyd = {
enable = true;
keyboards.blackwidow = {
ids = ["1532:0241"];
settings.main = {
q = "q";
w = "w";
e = "f";
r = "p";
t = "g";
y = "j";
u = "l";
i = "u";
o = "y";
p = ";";
capslock = "backspace";
a = "a";
s = "r";
d = "s";
f = "t";
g = "d";
h = "h";
j = "n";
k = "e";
l = "i";
";" = "o";
z = "z";
x = "x";
c = "c";
v = "v";
b = "b";
n = "k";
};
};
};
# Enable sound with pipewire.
services.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;
};
# 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.maya = {
isNormalUser = true;
description = "Maya";
extraGroups = [ "networkmanager" "wheel" "libvirtd" "qemu-libvirt" "camera" "input" "adbusers" "inputs" "uinput" "openrazer"];
};
# Install firefox.
programs.firefox.enable = true;
services.libinput.enable = true;
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# 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
git
lact
keepassxc
looking-glass-client
ddcutil
xrizer
wayvr-dashboard
xwayland-satellite
polychromatic
memtest86-efi
edk2-uefi-shell
];
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
systemd.tmpfiles.rules = [
"f /dev/shm/looking-glass 0660 maya qemu-libvirtd -"
];
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# 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 = "24.11"; # Did you read the comment?
}

View file

@ -1,12 +0,0 @@
{config, pkgs, ...}:{
imports = [
./configuration.nix
../overrides.nix
../ssh.nix
../firewall.nix
../substituters.nix
../fonts.nix
../udev.nix
../greetd.nix
];
}

View file

@ -1,69 +0,0 @@
# 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")
];
hardware.bluetooth = {
enable = true;
powerOnBoot = true;
settings = {
General.Experimental = true;
};
input = {
General.ClassicBondedOnly = false;
General.UserspaceHID = true;
};
};
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" "sr_mod" ];
boot.initrd.kernelModules = [ "vfio_pci" "vfio" "vfio_iommu_type1" "vendor-reset" ];
boot.kernelModules = [ "kvm-intel" "vfio_virqfd" "vhost-net" "v4l2loopback" "12c-dev" ];
boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback vendor-reset];
boot.extraModprobeConfig = ''
options vfio-pci ids=1002:6fdf,1002:aaf0,1b21:1242,1002:67df
options v4l2loopback devices=2 video_nr=1,2 card_label="OBS Cam, Virt Cam" exclusive_caps=1
'';
boot.blacklistedKernelModules = ["nouveau"];
boot.kernelParams = [ "amdgpu.ppfeaturemask=0xffffffff" "intel_iommu=on" "iommu=pt" "pcie_acs_override=downstream,multifunction" "preempt=voluntary" "module_blacklist=nouveau" ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/3367079b-0477-4088-b57d-90a8098bdef7";
fsType = "xfs";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/8DE9-D26C";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
fileSystems."/mnt/vms" =
{ device = "/dev/disk/by-uuid/9443885e-d2b3-44a1-aec2-540de7f5c832";
fsType = "xfs";
options = [ "x-gvfs-show" ];
};
fileSystems."/mnt/data" =
{ device = "/dev/disk/by-uuid/a4a08196-cedc-4be2-988d-d28eb41492c0";
fsType = "xfs";
options = [ "x-gvfs-show" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/f7e4a77c-0936-445c-8ce9-0386e9e81656"; }
];
# 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.wlp7s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -1,308 +0,0 @@
# 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
];
#hardware.thinkpad-dock = {
# enable = true;
# dockEvent = "${pkgs.wlr-randr}/bin/wlr-randr --output eDP-1 --pos 0,1362";
# undockEvent = "${pkgs.wlr-randr}/bin/wlr-randr --output eDP-1 --pos 0,0";
#};
programs.gamemode.enable = true;
virtualisation.kvmgt = {
enable = true;
vgpus = {
"i915-GVTg_V4_4" = {
uuid = [ "b4c3049a-74a1-11ef-8112-df4a4be644fd" ];
};
};
};
environment.pathsToLink = [ "/share/xdg-desktop-portal" ];
systemd = {
user.services.polkit-gnome-authentication-agent-1 = {
description = "polkit-gnome-authentication-agent-1";
wantedBy = [ "graphical-session.target" ];
wants = [ "graphical-session.target" ];
after = [ "graphical-session.target" ];
serviceConfig = {
Type = "simple";
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
Restart = "on-failure";
RestartSec = 1;
TimeoutStopSec = 10;
};
};
};
services.gvfs.enable = true;
security.sudo.package = pkgs.sudo.override { withInsults = true; };
programs.thunderbird.enable = true;
services.kmonad = {
enable = true;
keyboards.thinkpad = {
device = "/dev/input/by-path/platform-i8042-serio-0-event-kbd";
config = (builtins.readFile ./keymap.kbd);
defcfg = {
enable = true;
fallthrough = true;
compose.key = null;
};
};
};
virtualisation.libvirtd = {
enable = true;
qemu = {
package = pkgs.qemu_kvm;
runAsRoot = true;
swtpm.enable = true;
ovmf = {
enable = true;
packages = [(pkgs.OVMF.override {
secureBoot = true;
tpmSupport = true;
}).fd];
};
};
};
services.gnome.gnome-keyring.enable = true;
programs.virt-manager.enable = true;
hardware.bluetooth = {
enable = true;
powerOnBoot = true;
};
services.tailscale = {
enable = true;
useRoutingFeatures = "client";
};
services.blueman.enable = true;
programs.adb.enable = true;
services.acpid = {
enable = true;
handlers = {
pauseOnDisconnect = {
event = "jack/headphone HEADPHONE unplug";
action = "${pkgs.sudo}/bin/sudo -u maya XDG_RUNTIME_DIR=/run/user/1000/ ${pkgs.playerctl}/bin/playerctl pause";
};
};
};
programs.kdeconnect.enable = true;
programs.dconf.enable = true;
systemd.services = {
NetworkManager.requires = ["ModemManager.service"];
};
services.tlp.enable = true;
services.tlp.settings = {
CPU_SCALING_GOVERNOR_ON_BAT = "ondemand";
CPU_SCALING_GOVERNOR_ON_AC = "performance";
};
hardware.graphics = {
enable = true;
extraPackages = with pkgs; [
mesa
mesa.drivers
intel-media-sdk
intel-vaapi-driver
libvdpau-va-gl
];
enable32Bit = true;
extraPackages32 = with pkgs.pkgsi686Linux; [
intel-vaapi-driver
mesa
mesa.drivers
libvdpau-va-gl
];
};
environment.sessionVariables = { LIBVA_DRIVER_NAME = "i965"; ELECTRON_OZONE_PLATFORM_HINT = "wayland"; PASSWORD_STORE_DIR = "$HOME/sync/general/pass";};
security.polkit.enable = true;
security.pam = {
services.gtklock = {};
services.greetd = {
enableGnomeKeyring = true;
gnupg.enable = true;
};
services.login = {
enableGnomeKeyring = true;
gnupg.enable = true;
};
};
services.fprintd.enable = true;
services.udisks2.enable = true;
# Bootloader.
boot.loader.systemd-boot.enable = false;
boot.loader.limine = {
enable = true;
style.wallpapers = [ ];
additionalFiles = {
"efi/memtest86/memtest86.efi" = "${pkgs.memtest86-efi}/BOOTX64.efi";
"efi/shell.efi" = "${pkgs.edk2-uefi-shell}/shell.efi";
};
extraEntries = ''
/memtest86
protocol: efi
path: boot():/limine/efi/memtest86/memtest86.efi
/shell
protocol: efi
path: boot():/limine/efi/shell.efi
'';
};
boot.loader.efi.canTouchEfiVariables = false;
networking.hostName = "callisto"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
systemd.services.trackpad-fix = {
description = "Fixes the thinkpad touchpad being total shit";
serviceConfig = {
Type = "simple";
ExecStart = "${pkgs.tcl-8_6}/bin/tclsh /home/maya/unshit.tcl";
ExecStop = "pkill tclsh";
Restart = "on-failure";
};
wantedBy = ["default.target"];
};
systemd.services.fuckyou = {
description = "h";
after = ["suspend.target"];
wantedBy = ["suspend.target"];
serviceConfig = {
Type = "simple";
ExecStart = "systemctl --no-block restart trackpad-fix.service";
};
};
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Enable networking
networking.networkmanager.enable = true;
# Set your time zone.
time.timeZone = "Australia/Perth";
# Select internationalisation properties.
i18n.defaultLocale = "en_AU.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_AU.UTF-8";
LC_IDENTIFICATION = "en_AU.UTF-8";
LC_MEASUREMENT = "en_AU.UTF-8";
LC_MONETARY = "en_AU.UTF-8";
LC_NAME = "en_AU.UTF-8";
LC_NUMERIC = "en_AU.UTF-8";
LC_PAPER = "en_AU.UTF-8";
LC_TELEPHONE = "en_AU.UTF-8";
LC_TIME = "en_AU.UTF-8";
};
# Enable the X11 windowing system.
services.xserver.enable = true;
# Enable the GNOME Desktop Environment.
nix.settings.experimental-features = [ "nix-command" "flakes" ];
# Configure keymap in X11
services.xserver = {
xkb.layout = "au";
xkb.variant = "";
};
# Enable CUPS to print documents.
services.printing.enable = true;
# Enable sound with pipewire.
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;
};
# 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.maya = {
isNormalUser = true;
description = "Maya";
extraGroups = [ "networkmanager" "wheel" "libvirtd" "input" "uinput" "dialout" ];
packages = with pkgs; [
# thunderbird
git
tree
];
};
# Install firefox.
programs.firefox.enable = true;
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# 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.
lutris
playerctl
undervolt
s-tui
stress
xfsprogs
protonvpn-gui
memtest86-efi
edk2-uefi-shell
xwayland-satellite
jpilot
# wget
];
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# 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 = "24.05"; # Did you read the comment?
}

View file

@ -1,12 +0,0 @@
{config, pkgs, ...}:{
imports = [
./configuration.nix
../overrides.nix
../ssh.nix
../firewall.nix
../substituters.nix
../fonts.nix
../udev.nix
../greetd.nix
];
}

View file

@ -1,52 +0,0 @@
# 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" "ehci_pci" "ahci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
boot.initrd.kernelModules = [ ];
boot.kernelParams = [ "resume" ];
services.undervolt = {
enable = true;
tempBat = 80;
tempAc = 95;
coreOffset = -72;
gpuOffset = -95;
};
boot.kernelModules = [ "kvm-intel" "sierra_net" "v4l2-loopback" ];
boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
boot.kernelPackages = pkgs.linuxPackages_xanmod_latest;
boot.extraModprobeConfig = ''
options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam"
'';
fileSystems."/" =
{ device = "/dev/disk/by-uuid/1395f53e-3fcd-46fc-848e-d14cf332cb73";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/A024-3E55";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
swapDevices = [ { device = "/dev/disk/by-uuid/0aabcebe-6b84-411f-b59e-d327f91cc799"; } ];
# 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.enp0s25.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp3s0.useDHCP = lib.mkDefault true;
# networking.interfaces.wwp0s20u4.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -1,24 +0,0 @@
(defsrc
grv 1 2 3 4 5 6 7 8 9 0 - = bspc
tab q w e r t y u i o p [ ] \
caps a s d f g h j k l ; ' ret
lsft z x c v b n m , . / rsft
lctl lmet lalt spc ralt rmet cmp rctl
)
(deflayer qwerty
grv 1 2 3 4 5 6 7 8 9 0 - = bspc
tab q w e r t y u i o p [ ] \
@ext a s d f g h j k l ; ' ret
lsft z x c v b n m , . / rsft
lctl lmet lalt spc ralt rmet cmp rctl
)
(defalias
ext (layer-toggle extend)
)
(deflayer extend
grv 1 2 3 4 5 6 7 8 9 0 - = bspc
tab q up e ~ t y u i o p [ ] \
caps left down right f g h j k l ; ' ret
lsft z x c v b n m , . / rsft
lctl lmet KeyPreviousSong KeyPlayPause KeyNextSong rmet cmp rctl
)

View file

@ -5,10 +5,10 @@
nerd-fonts.iosevka
noto-fonts
noto-fonts-cjk-sans
noto-fonts-emoji
noto-fonts-color-emoji
source-han-sans
source-han-sans-japanese
source-han-serif-japanese
source-han-sans
source-han-serif
comfortaa
];
}

View file

@ -1,194 +0,0 @@
# 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, lib, inputs, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];
nix.package = pkgs.lix;
programs = {
adb.enable = true;
firefox.enable = true;
fish.enable = true;
gamescope = {
enable = true;
capSysNice = false;
};
flashrom.enable = true;
nix-ld.enable = true;
nix-ld.libraries = with pkgs; [xorg.libxcb libao xorg.libX11 libusb1 cargo rustc pkg-config cacert];
};
environment.pathsToLink = [ "/share/xdg-desktop-portal" ];
security.sudo.package = pkgs.sudo.override { withInsults = true; };
services.journald.extraConfig = ''
SystemMaxUse=2G
'';
services.tailscale = {
enable = true;
useRoutingFeatures = "both";
};
boot.supportedFilesystems = ["exfat" "ntfs" "xfs"];
boot.loader.limine.enable = true;
boot.loader.limine.style.wallpapers = [];
boot.loader.limine.additionalFiles = {
"efi/memtest86.efi" = "${pkgs.memtest86-efi}/BOOTX64.efi";
"efi/shell.efi" = "${pkgs.edk2-uefi-shell}/shell.efi";
};
boot.loader.efi.canTouchEfiVariables = true;
boot.initrd.systemd.enable = true;
boot.loader.efi.efiSysMountPoint = "/boot/";
boot.extraModulePackages = [
config.boot.kernelPackages.v4l2loopback.out
];
boot.kernelPackages = pkgs.linuxKernel.packages.linux_xanmod_latest;
boot.kernel.sysctl = {
"vm.max_map_count" = 2147483642;
};
networking.hostName = "hassie"; # Define your hostname.
powerManagement.cpuFreqGovernor = "performance";
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Enable networking
hardware.graphics = {
enable = true;
enable32Bit = true;
extraPackages = with pkgs; [mesa.opencl libvdpau-va-gl vaapiVdpau vulkan-validation-layers];
extraPackages32 = with pkgs; [driversi686Linux.amdvlk driversi686Linux.mesa.opencl];
};
hardware.bluetooth.enable = true;
services.blueman.enable = true;
networking.networkmanager = {
enable = true;
wifi.backend = "iwd";
};
# Set your time zone.
time.timeZone = "Europe/London";
# Select internationalisation properties.
i18n.defaultLocale = "en_GB.UTF-8";
services.udisks2.enable = true;
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_GB.UTF-8";
LC_IDENTIFICATION = "en_GB.UTF-8";
LC_MEASUREMENT = "en_GB.UTF-8";
LC_MONETARY = "en_GB.UTF-8";
LC_NAME = "en_GB.UTF-8";
LC_NUMERIC = "en_GB.UTF-8";
LC_PAPER = "en_GB.UTF-8";
LC_TELEPHONE = "en_GB.UTF-8";
LC_TIME = "en_GB.UTF-8";
};
nix.settings.experimental-features = [ "nix-command" "flakes" ];
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 30d";
};
systemd = {
user.services.polkit-gnome-authentication-agent-1 = {
description = "polkit-gnome-authentication-agent-1";
wantedBy = [ "graphical-session.target" ];
wants = [ "graphical-session.target" ];
after = [ "graphical-session.target" ];
serviceConfig = {
Type = "simple";
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
Restart = "on-failure";
RestartSec = 1;
TimeoutStopSec = 10;
};
};
};
security.polkit.enable = true;
# Enable the X11 windowing system.
services.xserver.enable = true;
programs.dconf.enable = true;
# Configure keymap in X11
services.xserver.xkb = {
layout = "us";
variant = "colemak";
};
console.useXkbConfig = true;
# Enable CUPS to print documents.
services.printing.enable = true;
services.printing.drivers = [pkgs.gutenprint];
security = {
rtkit.enable = true;
};
# Enable sound with pipewire.
services.pulseaudio.enable = false;
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;
};
hardware.alsa.enablePersistence = true;
# Define a user account. Don't forget to set a password with passwd.
users.users.alyx = {
isNormalUser = true;
description = "Alyx";
extraGroups = [ "networkmanager" "wheel" "camera" ];
packages = with pkgs; [
];
};
services.libinput.enable = true;
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [
wget
neovim
cbfstool
git
keepassxc
pulseaudio
winetricks
inputs.niri.packages.${pkgs.stdenv.hostPlatform.system}.xwayland-satellite-stable
p7zip
cabextract
unzip
wineWowPackages.stable
(pkgs.python3.withPackages (ps: with ps; [tkinter]))
];
system.stateVersion = "24.11"; # Did you read the comment?
}

View file

@ -1,10 +0,0 @@
{config, pkgs, ...}:{
imports = [
./configuration.nix
../overrides.nix
../ssh.nix
../substituters.nix
../fonts.nix
../greetd.nix
];
}

View file

@ -1,42 +0,0 @@
# 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" "ehci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" "sdhci_pci" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/c52b3f2c-e748-4bc4-a6b4-5397d100a7c4";
fsType = "xfs";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/D5B1-F4F1";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/7cc31bef-57a8-468a-be01-a162bea959b2"; }
];
# 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.enp0s25.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp2s0.useDHCP = lib.mkDefault true;
# networking.interfaces.wwp0s20u3i12.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -1,174 +0,0 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
{ config, lib, pkgs, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];
programs.gamemode.enable = true;
boot.loader = {
efi.canTouchEfiVariables = false;
grub = {
efiSupport = true;
efiInstallAsRemovable = true;
device = "nodev";
forcei686 = true;
};
};
environment.pathsToLink = [ "/share/xdg-desktop-portal" ];
systemd = {
user.services.polkit-gnome-authentication-agent-1 = {
description = "polkit-gnome-authentication-agent-1";
wantedBy = [ "graphical-session.target" ];
wants = [ "graphical-session.target" ];
after = [ "graphical-session.target" ];
serviceConfig = {
Type = "simple";
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
Restart = "on-failure";
RestartSec = 1;
TimeoutStopSec = 10;
};
};
};
security.sudo.package = pkgs.sudo.override { withInsults = true; };
programs.adb.enable = true;
environment.variables = {
WLR_NO_HARDWARE_CURSORS = "1";
};
networking.hostName = "hypermac"; # Define your hostname.
# Pick only one of the below networking options.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
# Set your time zone.
time.timeZone = "Australia/Perth";
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Select internationalisation properties.
i18n.defaultLocale = "en_AU.UTF-8";
# console = {
# font = "Lat2-Terminus16";
# keyMap = "us";
# useXkbConfig = true; # use xkb.options in tty.
# };
nix.settings.experimental-features = "nix-command flakes";
# Enable the X11 windowing system.
services.xserver.enable = true;
nixpkgs.config.allowUnfree = true;
services.xserver.videoDrivers = [ "nouveau" ];
hardware.graphics = {
enable = true;
enable32Bit = true;
extraPackages = with pkgs; [
mesa
mesa.drivers
vulkan-validation-layers
libvdpau-va-gl
vaapiVdpau
];
extraPackages32 = with pkgs; [
driversi686Linux.mesa
];
};
fonts.fontconfig.defaultFonts = {
serif = ["Noto Serif" "Source Han Serif"];
sansSerif = ["Noto Sans" "Source Han Sans"];
};
# 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.
services.pipewire = {
enable = true;
audio.enable = true;
pulse.enable = true;
alsa = {
enable = true;
support32Bit = true;
};
jack.enable = true;
};
programs.dconf.enable = true;
# Define a user account. Don't forget to set a password with passwd.
users.users.maya = {
isNormalUser = true;
extraGroups = [ "wheel" "adbusers" ]; # Enable sudo for the user.
packages = with pkgs; [
tree
];
};
security.polkit.enable = true;
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
neovim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
wget
firefox
lutris
alacritty
libsForQt5.qt5ct
git
];
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# Copy the NixOS configuration file and link it from the resulting system
# (/run/current-system/configuration.nix). This is useful in case you
# accidentally delete configuration.nix.
# system.copySystemConfiguration = true;
# This option defines the first version of NixOS you have installed on this particular machine,
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
#
# Most users should NEVER change this value after the initial install, for any reason,
# even if you've upgraded your system to a new NixOS release.
#
# This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
# so changing it will NOT upgrade your system.
#
# This value being lower than the current NixOS release does NOT mean your system is
# out of date, out of support, or vulnerable.
#
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
# and migrated your data accordingly.
#
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
system.stateVersion = "23.11"; # Did you read the comment?
}

View file

@ -1,11 +0,0 @@
{config, pkgs, ...}:{
imports = [
./configuration.nix
../overrides.nix
../ssh.nix
../firewall.nix
../substituters.nix
../fonts.nix
../greetd.nix
];
}

View file

@ -1,41 +0,0 @@
# 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 = [ "ohci_pci" "ehci_pci" "ahci" "firewire_ohci" "uas" "usb_storage" "usbhid" "sd_mod" "sr_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "wl" "nouveau" ];
boot.kernelParams = [ "noefi" ];
boot.blacklistedKernelModules = [ "nvidia" "nvidia_uvm" "nvidia_drm" "nvidia_modeset" ];
boot.extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ];
boot.kernelPackages = pkgs.linuxPackages-rt_latest;
fileSystems."/" =
{ device = "/dev/disk/by-uuid/a8237e2f-c6e5-4818-8e29-aeecedc9e57a";
fsType = "xfs";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/DA2E-30B9";
fsType = "vfat";
};
swapDevices =
[ { device = "/dev/disk/by-uuid/472810b1-cbb6-4812-b0ab-b3539c432dc2"; }
];
# 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.enp3s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -22,22 +22,22 @@
};
nix.package = pkgs.lix;
nix.buildMachines = [ {
hostName = "alyx@192.168.1.144";
protocol = "ssh-ng";
# nix.buildMachines = [ {
# hostName = "alyx@192.168.1.144";
# protocol = "ssh-ng";
# if the builder supports building for multiple architectures,
# replace the previous line by, e.g.
systems = ["x86_64-linux" "i686-linux"];
maxJobs = 1;
speedFactor = 2;
supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];
mandatoryFeatures = [ ];
}] ;
nix.distributedBuilds = true;
# optional, useful when the builder has a faster internet connection than yours
nix.extraOptions = ''
builders-use-substitutes = true
'';
# systems = ["x86_64-linux" "i686-linux"];
# maxJobs = 1;
# speedFactor = 2;
# supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];
# mandatoryFeatures = [ ];
# }] ;
# nix.distributedBuilds = true;
# # optional, useful when the builder has a faster internet connection than yours
# nix.extraOptions = ''
# builders-use-substitutes = true
# '';
services.desktopManager.plasma6.enable = true;
jovian.devices.steamdeck.enable = true;
jovian.steam.autoStart = true;
@ -95,8 +95,8 @@
hardware.graphics = {
enable = true;
enable32Bit = true;
extraPackages = with pkgs; [mesa.opencl libvdpau-va-gl vaapiVdpau vulkan-validation-layers];
extraPackages32 = with pkgs; [driversi686Linux.amdvlk driversi686Linux.mesa.opencl];
extraPackages = with pkgs; [mesa.opencl libvdpau-va-gl libva-vdpau-driver vulkan-validation-layers];
extraPackages32 = with pkgs; [driversi686Linux.mesa.opencl];
};
hardware.bluetooth.enable = true;
@ -178,14 +178,11 @@
neovim
cbfstool
git
keepassxc
inputs.niri.packages.${pkgs.stdenv.hostPlatform.system}.xwayland-satellite-stable
pulseaudio
steamdeck-firmware
jupiter-dock-updater-bin
maliit-keyboard
squeekboard
wvkbd
winetricks
p7zip
cabextract
@ -197,3 +194,4 @@
system.stateVersion = "24.11"; # Did you read the comment?
}

View file

@ -1,182 +0,0 @@
# 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, lib, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];
nix.package = pkgs.lix;
nix.buildMachines = [ {
hostName = "alyx@192.168.1.145";
system = "x86_64-linux";
protocol = "ssh-ng";
# if the builder supports building for multiple architectures,
# replace the previous line by, e.g.
# systems = ["x86_64-linux" "aarch64-linux"];
maxJobs = 1;
speedFactor = 2;
supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];
mandatoryFeatures = [ ];
}] ;
nix.distributedBuilds = true;
# optional, useful when the builder has a faster internet connection than yours
nix.extraOptions = ''
builders-use-substitutes = true
'';
services.desktopManager.plasma6.enable = true;
jovian.devices.steamdeck.enable = true;
jovian.steam.autoStart = true;
jovian.steam.enable = true;
jovian.steam.user = "alyx";
jovian.steam.desktopSession = "plasma";
jovian.devices.steamdeck.autoUpdate = true;
jovian.decky-loader.enable = true;
environment.pathsToLink = [ "/share/xdg-desktop-portal" ];
security.sudo.package = pkgs.sudo.override { withInsults = true; };
programs = {
adb.enable = true;
flashrom.enable = true;
nix-ld.enable = true;
nix-ld.libraries = with pkgs; [xorg.libxcb libao xorg.libX11 libusb1 cargo rustc pkg-config cacert];
};
services.journald.extraConfig = ''
SystemMaxUse=2G
'';
services.tailscale = {
enable = true;
useRoutingFeatures = "both";
};
boot.supportedFilesystems = ["exfat" "ntfs" "xfs"];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.initrd.systemd.enable = true;
boot.initrd.kernelModules = [ "amdgpu" ];
boot.loader.efi.efiSysMountPoint = "/boot/";
networking.hostName = "patio"; # Define your hostname.
powerManagement.cpuFreqGovernor = "performance";
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Enable networking
hardware.graphics = {
enable = true;
enable32Bit = true;
extraPackages = with pkgs; [mesa.opencl libvdpau-va-gl vaapiVdpau vulkan-validation-layers];
extraPackages32 = with pkgs; [driversi686Linux.amdvlk driversi686Linux.mesa.opencl];
};
hardware.bluetooth.enable = true;
services.blueman.enable = true;
networking.networkmanager = {
enable = true;
wifi.backend = "iwd";
};
# Set your time zone.
time.timeZone = "Europe/London";
# Select internationalisation properties.
? i18n.defaultLocale = "en_GB.UTF-8";
services.udisks2.enable = true;
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_GB.UTF-8";
LC_IDENTIFICATION = "en_GB.UTF-8";
LC_MEASUREMENT = "en_GB.UTF-8";
LC_MONETARY = "en_GB.UTF-8";
LC_NAME = "en_GB.UTF-8";
LC_NUMERIC = "en_GB.UTF-8";
LC_PAPER = "en_GB.UTF-8";
LC_TELEPHONE = "en_GB.UTF-8";
LC_TIME = "en_GB.UTF-8";
};
nix.settings.experimental-features = [ "nix-command" "flakes" ];
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 30d";
};
# Enable the X11 windowing system.
services.xserver.enable = true;
programs.dconf.enable = true;
# Configure keymap in X11
services.xserver.xkb = {
layout = "us";
variant = "";
};
# Enable CUPS to print documents.
services.printing.enable = true;
services.printing.drivers = [pkgs.gutenprint];
security = {
rtkit.enable = true;
};
# Enable sound with pipewire.
services.pulseaudio.enable = false;
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;
};
# Define a user account. Don't forget to set a password with passwd.
users.users.alyx = {
isNormalUser = true;
description = "Alyx";
extraGroups = [ "networkmanager" "wheel" "camera" ];
packages = with pkgs; [
];
};
services.libinput.enable = true;
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [
wget
neovim
cbfstool
git
keepassxc
pulseaudio
steamdeck-firmware
jupiter-dock-updater-bin
winetricks
p7zip
cabextract
unzip
ineWowPackages.stable
(pkgs.python3.withPackages (ps: with ps; [tkinter]))
];
system.stateVersion = "24.11"; # Did you read the comment?
}

View file

@ -1,187 +0,0 @@
# 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, lib, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];
nix.package = pkgs.lix;
nix.buildMachines = [ {
hostName = "alyx@192.168.1.146";
system = "x86_64-linux";
protocol = "ssh-ng";
# if the builder supports building for multiple architectures,
# replace the previous line by, e.g.
# systems = ["x86_64-linux" "aarch64-linux"];
maxJobs = 1;
speedFactor = 2;
supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];
mandatoryFeatures = [ ];
}] ;
nix.distributedBuilds = true;
# optional, useful when the builder has a faster internet connection than yours
nix.extraOptions = ''
builders-use-substitutes = true
'';
services.desktopManager.plasma6.enable = true;
jovian.devices.steamdeck.enable = true;
jovian.steam.autoStart = true;
jovian.steam.enable = true;
jovian.steam.user = "alyx";
jovian.steam.desktopSession = "plasma";
jovian.devices.steamdeck.autoUpdate = true;
jovian.decky-loader.enable = true;
environment.pathsToLink = [ "/share/xdg-desktop-portal" ];
security.sudo.package = pkgs.sudo.override { withInsults = true; };
programs = {
niri.enable = true;
niri.package =
adb.enable = true;
flashrom.enable = true;
nix-ld.enable = true;
nix-ld.libraries = with pkgs; [xorg.libxcb libao xorg.libX11 libusb1 cargo rustc pkg-config cacert];
};
services.journald.extraConfig = ''
SystemMaxUse=2G
'';
services.tailscale = {
enable = true;
useRoutingFeatures = "both";
};
boot.supportedFilesystems = ["exfat" "ntfs" "xfs"];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.initrd.systemd.enable = true;
boot.initrd.kernelModules = [ "amdgpu" ];
boot.loader.efi.efiSysMountPoint = "/boot/";
networking.hostName = "patio"; # Define your hostname.
powerManagement.cpuFreqGovernor = "performance";
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Enable networking
hardware.graphics = {
enable = true;
enable32Bit = true;
extraPackages = with pkgs; [mesa.opencl libvdpau-va-gl vaapiVdpau vulkan-validation-layers];
extraPackages32 = with pkgs; [driversi686Linux.amdvlk driversi686Linux.mesa.opencl];
};
hardware.bluetooth.enable = true;
services.blueman.enable = true;
networking.networkmanager = {
enable = true;
wifi.backend = "iwd";
};
# Set your time zone.
time.timeZone = "Europe/London";
# Select internationalisation properties.
i18n.defaultLocale = "en_GB.UTF-8";
services.udisks2.enable = true;
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_GB.UTF-8";
LC_IDENTIFICATION = "en_GB.UTF-8";
LC_MEASUREMENT = "en_GB.UTF-8";
LC_MONETARY = "en_GB.UTF-8";
LC_NAME = "en_GB.UTF-8";
LC_NUMERIC = "en_GB.UTF-8";
LC_PAPER = "en_GB.UTF-8";
LC_TELEPHONE = "en_GB.UTF-8";
LC_TIME = "en_GB.UTF-8";
};
nix.settings.experimental-features = [ "nix-command" "flakes" ];
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 30d";
};
# Enable the X11 windowing system.
services.xserver.enable = true;
programs.dconf.enable = true;
# Configure keymap in X11
services.xserver.xkb = {
layout = "us";
variant = "";
};
# Enable CUPS to print documents.
services.printing.enable = true;
services.printing.drivers = [pkgs.gutenprint];
security = {
rtkit.enable = true;
};
# Enable sound with pipewire.
services.pulseaudio.enable = false;
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;
};
# Define a user account. Don't forget to set a password with passwd.
users.users.alyx = {
isNormalUser = true;
description = "Alyx";
extraGroups = [ "networkmanager" "wheel" "camera" ];
packages = with pkgs; [
];
};
services.libinput.enable = true;
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [
wget
neovim
cbfstool
git
keepassxc
pulseaudio
steamdeck-firmware
jupiter-dock-updater-bin
maliit-keyboard
squeekboard
wvkbd
winetricks
p7zip
cabextract
unzip
wineWowPackages.stable
(pkgs.python3.withPackages (ps: with ps; [tkinter]))
];
system.stateVersion = "24.11"; # Did you read the comment?
}

View file

@ -1,13 +1,5 @@
{
services.udev.extraRules = ''
# Sony PlayStation Strikepack; USB
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="05c5", MODE="0660", TAG+="uaccess"
# Sony PlayStation DualShock 3; Bluetooth; USB
KERNEL=="hidraw*", KERNELS=="*054C:0268*", MODE="0660", TAG+="uaccess"
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0268", MODE="0660", TAG+="uaccess"
## Motion Sensors
SUBSYSTEM=="input", KERNEL=="event*|input*", KERNELS=="*054C:0268*", TAG+="uaccess"
# Sony PlayStation DualShock 4; Bluetooth; USB
KERNEL=="hidraw*", KERNELS=="*054C:05C4*", MODE="0660", TAG+="uaccess"
@ -20,13 +12,6 @@ KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="09cc", MODE="0660
# Sony PlayStation DualShock 4 Wireless Adapter; USB
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ba0", MODE="0660", TAG+="uaccess"
# Sony DualSense Wireless-Controller; Bluetooth; USB
KERNEL=="hidraw*", KERNELS=="*054C:0CE6*", MODE="0660", TAG+="uaccess"
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ce6", MODE="0660", TAG+="uaccess"
# Sony DualSense Edge Wireless-Controller; Bluetooth; USB
KERNEL=="hidraw*", KERNELS=="*054C:0DF2*", MODE="0660", TAG+="uaccess"
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0df2", MODE="0660", TAG+="uaccess"
# Rules to ensure vendor-reset is loaded and the reset_method for our devices is set to 'device_specific' for kernel 5.15+
# (the module must be loaded, otherwise setting this may fail)
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x1002", ATTR{device}=="0x67C0", RUN+="/bin/sh -c '/sbin/modprobe vendor-reset; echo device_specific > /sys$env{DEVPATH}/reset_method'"

235
flake.lock generated
View file

@ -1,23 +1,5 @@
{
"nodes": {
"catppuccin": {
"inputs": {
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1753870263,
"narHash": "sha256-r+mj2TAN4dcTDzQIaPjbR4xEiVsVSJ3j4qo40EwosMA=",
"owner": "catppuccin",
"repo": "nix",
"rev": "2f0b779c531ac922a3f0e3f817ff4e794865873a",
"type": "github"
},
"original": {
"owner": "catppuccin",
"repo": "nix",
"type": "github"
}
},
"flake-compat": {
"locked": {
"lastModified": 1733328505,
@ -40,11 +22,11 @@
]
},
"locked": {
"lastModified": 1753121425,
"narHash": "sha256-TVcTNvOeWWk1DXljFxVRp+E0tzG1LhrVjOGGoMHuXio=",
"lastModified": 1762980239,
"narHash": "sha256-8oNVE8TrD19ulHinjaqONf9QWCKK+w4url56cdStMpM=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "644e0fc48951a860279da645ba77fe4a6e814c5e",
"rev": "52a2caecc898d0b46b2b905f058ccc5081f842da",
"type": "github"
},
"original": {
@ -55,7 +37,10 @@
},
"flake-utils": {
"inputs": {
"systems": "systems"
"systems": [
"nixpkgs-xr",
"systems"
]
},
"locked": {
"lastModified": 1731533236,
@ -96,11 +81,11 @@
]
},
"locked": {
"lastModified": 1753943136,
"narHash": "sha256-eiEE5SabVcIlGSTRcRyBjmJMaYAV95SJnjy8YSsVeW4=",
"lastModified": 1763228015,
"narHash": "sha256-1rYieMVUyZ3kK/cBIr8mOusxrOEJ1/+2MsOg0oJ7b3A=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "bd82507edd860c453471c46957cbbe3c9fd01b5c",
"rev": "96156a9e86281c4bfc451236bc2ddfe4317e6f39",
"type": "github"
},
"original": {
@ -123,16 +108,16 @@
]
},
"locked": {
"lastModified": 1748294338,
"narHash": "sha256-FVO01jdmUNArzBS7NmaktLdGA5qA3lUMJ4B7a05Iynw=",
"lastModified": 1754860581,
"narHash": "sha256-EM0IE63OHxXCOpDHXaTyHIOk2cNvMCGPqLt/IdtVxgk=",
"owner": "NuschtOS",
"repo": "ixx",
"rev": "cc5f390f7caf265461d4aab37e98d2292ebbdb85",
"rev": "babfe85a876162c4acc9ab6fb4483df88fa1f281",
"type": "github"
},
"original": {
"owner": "NuschtOS",
"ref": "v0.0.8",
"ref": "v0.1.1",
"repo": "ixx",
"type": "github"
}
@ -140,14 +125,14 @@
"jovian": {
"inputs": {
"nix-github-actions": "nix-github-actions",
"nixpkgs": "nixpkgs_2"
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1753938227,
"narHash": "sha256-KzjI9khMC2tOL5FClh3sHq8Gax1O5Rw0bH1hvJ3FU3E=",
"lastModified": 1763223001,
"narHash": "sha256-Hi6XxTJJjKsDrO+D0fYXS88ehCYzQkZlp9qxX1zoM1s=",
"owner": "Jovian-Experiments",
"repo": "Jovian-NixOS",
"rev": "8d1f0004594e0eddc00159ad7666e669a6bcb711",
"rev": "68a1bcc019378272e601558719f82005a80ddab0",
"type": "github"
},
"original": {
@ -160,17 +145,17 @@
"inputs": {
"niri-stable": "niri-stable",
"niri-unstable": "niri-unstable",
"nixpkgs": "nixpkgs_3",
"nixpkgs": "nixpkgs_2",
"nixpkgs-stable": "nixpkgs-stable",
"xwayland-satellite-stable": "xwayland-satellite-stable",
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
},
"locked": {
"lastModified": 1753839324,
"narHash": "sha256-ipcsHV+XE7gaItRhqLsjLCYKIk57IAP1s9BHajQRotA=",
"lastModified": 1763126448,
"narHash": "sha256-LVYJJObvkWwR8QB/Srr6Rks+Fw2lYvnRNOH0etV9DM8=",
"owner": "sodiboo",
"repo": "niri-flake",
"rev": "0108605855b3222c8965fa23fc05d713b77d0564",
"rev": "add7bcf2925547e180cc2fe6d5f4b5e7c579d086",
"type": "github"
},
"original": {
@ -182,16 +167,16 @@
"niri-stable": {
"flake": false,
"locked": {
"lastModified": 1748151941,
"narHash": "sha256-z4viQZLgC2bIJ3VrzQnR+q2F3gAOEQpU1H5xHtX/2fs=",
"lastModified": 1756556321,
"narHash": "sha256-RLD89dfjN0RVO86C/Mot0T7aduCygPGaYbog566F0Qo=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "8ba57fcf25d2fc9565131684a839d58703f1dae7",
"rev": "01be0e65f4eb91a9cd624ac0b76aaeab765c7294",
"type": "github"
},
"original": {
"owner": "YaLTeR",
"ref": "v25.05.1",
"ref": "v25.08",
"repo": "niri",
"type": "github"
}
@ -199,11 +184,11 @@
"niri-unstable": {
"flake": false,
"locked": {
"lastModified": 1752870529,
"narHash": "sha256-23DJk5EfEDCq7Xy1QELcayG0VxbbWpdQ6t7jbhae1Ok=",
"lastModified": 1763014447,
"narHash": "sha256-nmu7S8J9IJKLQyIkSU8QWYHygrfw76NHGTkcr+bXMX0=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "fefc0bc0a71556eb75352e2b611e50eb5d3bf9c2",
"rev": "a52df533c4694b5ed0a04140af60fd26146df911",
"type": "github"
},
"original": {
@ -241,11 +226,11 @@
]
},
"locked": {
"lastModified": 1753589988,
"narHash": "sha256-y1JlcMB2dKFkrr6g+Ucmj8L//IY09BtSKTH/A7OU7mU=",
"lastModified": 1763265660,
"narHash": "sha256-Ad9Rd3ZAidrH01xP73S3CjPiyXo7ywZs3uCESjPwUdc=",
"owner": "nix-community",
"repo": "nix-index-database",
"rev": "f0736b09c43028fd726fb70c3eb3d1f0795454cf",
"rev": "469ef53571ea80890c9497952787920c79c1ee6e",
"type": "github"
},
"original": {
@ -254,33 +239,13 @@
"type": "github"
}
},
"nix-system-graphics": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1737457219,
"narHash": "sha256-nX9dxoATDCSQgWw/iv6BngXDJEyHVYYEvHEVQ7Ig3fI=",
"owner": "soupglasses",
"repo": "nix-system-graphics",
"rev": "9c875e0c56cf2eb272b9102a4f3e24e4e31629fd",
"type": "github"
},
"original": {
"owner": "soupglasses",
"repo": "nix-system-graphics",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1753250450,
"narHash": "sha256-i+CQV2rPmP8wHxj0aq4siYyohHwVlsh40kV89f3nw1s=",
"lastModified": 1762111121,
"narHash": "sha256-4vhDuZ7OZaZmKKrnDpxLZZpGIJvAeMtK6FKLJYUtAdw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "fc02ee70efb805d3b2865908a13ddd4474557ecf",
"rev": "b3d51a0365f6695e7dd5cdf3e180604530ed33b4",
"type": "github"
},
"original": {
@ -292,11 +257,11 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1753749649,
"narHash": "sha256-+jkEZxs7bfOKfBIk430K+tK9IvXlwzqQQnppC2ZKFj4=",
"lastModified": 1763049705,
"narHash": "sha256-A5LS0AJZ1yDPTa2fHxufZN++n8MCmtgrJDtxFxrH4S8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1f08a4df998e21f4e8be8fb6fbf61d11a1a5076a",
"rev": "3acb677ea67d4c6218f33de0db0955f116b7588c",
"type": "github"
},
"original": {
@ -310,15 +275,16 @@
"inputs": {
"flake-compat": "flake-compat",
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs_5",
"nixpkgs": "nixpkgs_4",
"systems": "systems",
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1753754623,
"narHash": "sha256-XNQ57RGQHaBfFphy1IekGy+nCJlPeQi6/vg1oa9JPfY=",
"lastModified": 1763257269,
"narHash": "sha256-L7hobkC7G7rxNatvxgz5RbMQaIVwObj7l1Pz3utx4Pk=",
"owner": "nix-community",
"repo": "nixpkgs-xr",
"rev": "58aeae5249afc3cbfe690768392fcd504e1e914a",
"rev": "d80a797b330a98df365cd25fd8350afbe5a5da83",
"type": "github"
},
"original": {
@ -329,11 +295,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1753694789,
"narHash": "sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM=",
"lastModified": 1762977756,
"narHash": "sha256-4PqRErxfe+2toFJFgcRKZ0UI9NSIOJa+7RXVtBhy4KE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "dc9637876d0dcc8c9e5e22986b857632effeb727",
"rev": "c5ae371f1a6a7fd27823bc500d9390b38c05fa55",
"type": "github"
},
"original": {
@ -345,27 +311,11 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1753694789,
"narHash": "sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM=",
"lastModified": 1763187301,
"narHash": "sha256-VgArs7MjFH0XRjZ/dWrUA1bDiJTld9Q824HQdLD3eFU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "dc9637876d0dcc8c9e5e22986b857632effeb727",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1753948617,
"narHash": "sha256-68ounbeMLJTO/Igq0rEqjldNReb/r2gR9zgLU2qiH7A=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4f1a1d0af135001efc1a58c8f31ede7bb1045874",
"rev": "66d930cb8792aea66f1bb2562f26f08d2ce8c3db",
"type": "github"
},
"original": {
@ -375,13 +325,13 @@
"type": "github"
}
},
"nixpkgs_5": {
"nixpkgs_4": {
"locked": {
"lastModified": 1753549186,
"narHash": "sha256-Znl7rzuxKg/Mdm6AhimcKynM7V3YeNDIcLjBuoBcmNs=",
"lastModified": 1762977756,
"narHash": "sha256-4PqRErxfe+2toFJFgcRKZ0UI9NSIOJa+7RXVtBhy4KE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "17f6bd177404d6d43017595c5264756764444ab8",
"rev": "c5ae371f1a6a7fd27823bc500d9390b38c05fa55",
"type": "github"
},
"original": {
@ -391,13 +341,13 @@
"type": "github"
}
},
"nixpkgs_6": {
"nixpkgs_5": {
"locked": {
"lastModified": 1753432016,
"narHash": "sha256-cnL5WWn/xkZoyH/03NNUS7QgW5vI7D1i74g48qplCvg=",
"lastModified": 1762943920,
"narHash": "sha256-ITeH8GBpQTw9457ICZBddQEBjlXMmilML067q0e6vqY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "6027c30c8e9810896b92429f0092f624f7b1aace",
"rev": "91c9a64ce2a84e648d0cf9671274bb9c2fb9ba60",
"type": "github"
},
"original": {
@ -410,16 +360,16 @@
"nixvim": {
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": "nixpkgs_6",
"nixpkgs": "nixpkgs_5",
"nuschtosSearch": "nuschtosSearch",
"systems": "systems_3"
},
"locked": {
"lastModified": 1753878247,
"narHash": "sha256-nxwVcC0ptpXenOWAyXTkYysbWAJPBIu2Mgp4XiFOfm4=",
"lastModified": 1763212728,
"narHash": "sha256-XVK0A+Le5vDSwAiwpNTRLM50HbwjpPVWnYelCUhAkjI=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "1729fe160872c9e53bd6977d92f53ef131606d4e",
"rev": "074c68468cc4751efa9ac3f65b2e63e4ad409b7a",
"type": "github"
},
"original": {
@ -438,11 +388,11 @@
]
},
"locked": {
"lastModified": 1753450833,
"narHash": "sha256-Pmpke0JtLRzgdlwDC5a+aiLVZ11JPUO5Bcqkj0nHE/k=",
"lastModified": 1761730856,
"narHash": "sha256-t1i5p/vSWwueZSC0Z2BImxx3BjoUDNKyC2mk24krcMY=",
"owner": "NuschtOS",
"repo": "search",
"rev": "40987cc1a24feba378438d691f87c52819f7bd75",
"rev": "e29de6db0cb3182e9aee75a3b1fd1919d995d85b",
"type": "github"
},
"original": {
@ -453,50 +403,27 @@
},
"root": {
"inputs": {
"catppuccin": "catppuccin",
"home-manager": "home-manager",
"jovian": "jovian",
"niri": "niri",
"nix-index-database": "nix-index-database",
"nix-system-graphics": "nix-system-graphics",
"nixpkgs": "nixpkgs_4",
"nixpkgs": "nixpkgs_3",
"nixpkgs-xr": "nixpkgs-xr",
"nixvim": "nixvim",
"system-manager": "system-manager"
}
},
"system-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1748252092,
"narHash": "sha256-6nL55wvV7SthEXaXDiQo8xxkxQLAVcNBU21YJ7GJLm8=",
"owner": "numtide",
"repo": "system-manager",
"rev": "c6850451ef769fd03d0ad5474f928b916aa23775",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "system-manager",
"type": "github"
"nixvim": "nixvim"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"repo": "default-linux",
"type": "github"
}
},
@ -538,11 +465,11 @@
]
},
"locked": {
"lastModified": 1753439394,
"narHash": "sha256-Bv9h1AJegLI8uAhiJ1sZ4XAndYxhgf38tMgCQwiEpmc=",
"lastModified": 1762938485,
"narHash": "sha256-AlEObg0syDl+Spi4LsZIBrjw+snSVU4T8MOeuZJUJjM=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "2673921c03d6e75fdf4aa93e025772608d1482cf",
"rev": "5b4ee75aeefd1e2d5a1cc43cf6ba65eba75e83e4",
"type": "github"
},
"original": {
@ -554,16 +481,16 @@
"xwayland-satellite-stable": {
"flake": false,
"locked": {
"lastModified": 1748488455,
"narHash": "sha256-IiLr1alzKFIy5tGGpDlabQbe6LV1c9ABvkH6T5WmyRI=",
"lastModified": 1755491097,
"narHash": "sha256-m+9tUfsmBeF2Gn4HWa6vSITZ4Gz1eA1F5Kh62B0N4oE=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "3ba30b149f9eb2bbf42cf4758d2158ca8cceef73",
"rev": "388d291e82ffbc73be18169d39470f340707edaa",
"type": "github"
},
"original": {
"owner": "Supreeeme",
"ref": "v0.6",
"ref": "v0.7",
"repo": "xwayland-satellite",
"type": "github"
}
@ -571,11 +498,11 @@
"xwayland-satellite-unstable": {
"flake": false,
"locked": {
"lastModified": 1752338000,
"narHash": "sha256-Fxlp/yKtynug0jyuauAmvZU2SzHCfwlwWf85j+IvQ0U=",
"lastModified": 1762747449,
"narHash": "sha256-Z1TKiux8K09a93w4PFDFsj8HFugXNy3iCC3Z8MpR5Rk=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "ba78881a68182ce338041846164cbfed0d70935c",
"rev": "6338574bc5c036487486acde264f38f39ea15fad",
"type": "github"
},
"original": {

179
flake.nix
View file

@ -5,20 +5,15 @@
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable-small";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
catppuccin.url = "github:catppuccin/nix";
nixpkgs-xr.url = "github:nix-community/nixpkgs-xr";
nixvim.url = "github:nix-community/nixvim";
niri.url = "github:sodiboo/niri-flake";
nix-index-database.url = "github:nix-community/nix-index-database";
nix-index-database.inputs.nixpkgs.follows = "nixpkgs";
system-manager.url = "github:numtide/system-manager";
system-manager.inputs.nixpkgs.follows = "nixpkgs";
nix-system-graphics.url = "github:soupglasses/nix-system-graphics";
nix-system-graphics.inputs.nixpkgs.follows = "nixpkgs";
nixvim.url = "github:nix-community/nixvim";
niri.url = "github:sodiboo/niri-flake";
jovian.url = "github:Jovian-Experiments/Jovian-NixOS";
};
outputs = inputs@{ self, nixpkgs, home-manager, system-manager, niri, nixpkgs-xr, jovian, ...}:{
outputs = inputs@{ self, nixpkgs, home-manager, niri, nixpkgs-xr, jovian, ...}:{
nixosConfigurations."absolution" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
@ -38,148 +33,11 @@
};
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.sharedModules = [{ imports = with inputs; [ nix-index-database.homeModules.nix-index nixvim.homeManagerModules.nixvim catppuccin.homeModules.catppuccin niri.homeModules.niri ];}];
home-manager.sharedModules = [{ imports = with inputs; [ nix-index-database.homeModules.nix-index nixvim.homeModules.nixvim niri.homeModules.niri ];}];
home-manager.users.alyx = ./home;
}
];
};
nixosConfigurations."adventurer" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./base/adventurer
home-manager.nixosModules.home-manager {
home-manager.extraSpecialArgs = {
inherit inputs;
vars = {
isNixOS = true;
isBritish = false;
class = "lowspec";
user = "maya";
useSyncthing = true;
};
};
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.sharedModules = [{ imports = with inputs; [ nix-index-database.homeModules.nix-index nixvim.homeManagerModules.nixvim catppuccin.homeModules.catppuccin niri.homeModules.niri ];}];
home-manager.users.maya = ./home;
}
];
};
nixosConfigurations."anagonia" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [
./base/anagonia
home-manager.nixosModules.home-manager {
home-manager.extraSpecialArgs = {
inherit inputs;
vars = {
isNixOS = true;
isBritish = true;
class = "lowspec";
user = "alyx";
useSyncthing = false;
};
};
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.sharedModules = [{ imports = with inputs; [ nix-index-database.homeModules.nix-index nixvim.homeManagerModules.nixvim catppuccin.homeModules.catppuccin niri.homeModules.niri ];}];
home-manager.users.alyx = ./home;
}
];
};
nixosConfigurations."apollo" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./base/apollo
nixpkgs-xr.nixosModules.nixpkgs-xr
home-manager.nixosModules.home-manager {
home-manager.extraSpecialArgs = {
inherit inputs;
vars = {
isNixOS = true;
isBritish = false;
class = "desktop";
user = "maya";
useSyncthing = true;
};
};
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.sharedModules = [{ imports = with inputs; [ nix-index-database.homeModules.nix-index nixvim.homeManagerModules.nixvim catppuccin.homeModules.catppuccin niri.homeModules.niri ];}];
home-manager.users.maya = ./home;
}
];
};
nixosConfigurations."callisto" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./base/callisto
home-manager.nixosModules.home-manager {
home-manager.extraSpecialArgs = {
inherit inputs;
vars = {
isNixOS = true;
isBritish = false;
class = "desktop";
user = "maya";
useSyncthing = true;
};
};
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.sharedModules = [{ imports = with inputs; [ nix-index-database.homeModules.nix-index nixvim.homeManagerModules.nixvim catppuccin.homeModules.catppuccin niri.homeModules.niri ];}];
home-manager.users.maya = ./home;
}
];
};
nixosConfigurations."hassie" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [
./base/hassie
home-manager.nixosModules.home-manager {
#imports = [ inputs.nix-index-database.homeModules.nix-index ];
home-manager.backupFileExtension = "hm-backup";
home-manager.extraSpecialArgs = {
inherit inputs;
vars = {
isNixOS = true;
isBritish = false;
useSyncthing = false;
class = "laptop";
user = "alyx"; #cursed way of setting username
};
};
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.sharedModules = [{ imports = with inputs; [ nix-index-database.homeModules.nix-index nixvim.homeManagerModules.nixvim catppuccin.homeModules.catppuccin niri.homeModules.niri ];}];
home-manager.users.alyx = ./home;
}
];
};
nixosConfigurations."hypermac" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./base/hypermac
home-manager.nixosModules.home-manager {
home-manager.extraSpecialArgs = {
inherit inputs;
vars = {
isNixOS = true;
isBritish = false;
class = "lowspec";
user = "maya";
useSyncthing = true;
};
};
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.sharedModules = [{ imports = with inputs; [ nix-index-database.homeModules.nix-index nixvim.homeManagerModules.nixvim catppuccin.homeModules.catppuccin niri.homeModules.niri ];}];
home-manager.users.maya = ./home;
}
];
};
nixosConfigurations."patio" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
@ -202,7 +60,7 @@
};
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.sharedModules = [{ imports = with inputs; [ nix-index-database.homeModules.nix-index nixvim.homeManagerModules.nixvim catppuccin.homeModules.catppuccin niri.homeModules.niri ];}];
home-manager.sharedModules = [{ imports = with inputs; [ nix-index-database.homeModules.nix-index nixvim.homeModules.nixvim niri.homeModules.niri ];}];
home-manager.users.alyx = ./home;
}
];
@ -226,35 +84,10 @@
};
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.sharedModules = [{ imports = with inputs; [ nix-index-database.homeModules.nix-index nixvim.homeManagerModules.nixvim catppuccin.homeModules.catppuccin niri.homeModules.niri ];}];
home-manager.sharedModules = [{ imports = with inputs; [ nix-index-database.homeModules.nix-index nixvim.homeModules.nixvim niri.homeModules.niri ];}];
home-manager.users.alyx = ./home;
}
];
};
homeConfigurations.generic = home-manager.lib.homeManagerConfiguration {
pkgs = import nixpkgs; # { system = "x86_64-linux"; overlays = [inputs.nixgl.overlay]; };
modules = [ ./home ];
extraSpecialArgs = {
inherit inputs;
vars = {
isNixOS = false;
class = "laptop";
user = "maya";
useSyncthing = true;
};
};
};
systemConfigs.default = system-manager.lib.makeSystemConfig {
modules = [
inputs.nix-system-graphics.systemModules.default
({
config = {
nixpkgs.hostPlatform = "x86_64-linux";
system-manager.allowAnyDistro = true;
system-graphics.enable = true;
};
})
];
};
};
}

View file

@ -1,7 +1,7 @@
{config, pkgs, lib, inputs, vars, ...}:{
imports = [
#aux files to make finding specific things easier
./theming.nix
# ./theming.nix
./nixvim
./niri.nix
./packages.nix #general user packages not managed by home-manager but i want to install via hm anyways
@ -11,16 +11,15 @@
homeDirectory = "/home/${username}"; #change this if you use a non-standard home dir
stateVersion = "23.11";
shell.enableBashIntegration = true;
sessionVariables = { PASSWORD_STORE_DIR = "$HOME/sync/general/pass"; ELECTRON_OZONE_PLATFORM_HINT = "auto";};
file = {
".config/waybar/config".source = (if vars.user == "alyx" then config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/waybar/terminal" else config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/waybar/modern");
".config/waybar/style.css".source = (if vars.user == "alyx" then config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/waybar/terminal.css" else config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/waybar/modern.css");
".config/waybar/config".source = config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/waybar/terminal";
".config/waybar/style.css".source = config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/waybar/terminal.css";
};
};
programs.home-manager.enable = (!vars.isNixOS); #value is set in flake.nix
programs.home-manager.enable = true;
programs.foot = {
enable = true;
settings.main.font = (if vars.user == "alyx" then "monospace:size=20" else "monospace:size=10");
settings.main.font = "monospace:size=20";
settings.colors.alpha = "0.9";
};
@ -30,11 +29,7 @@
tags_separator = ";";
};
};
programs.password-store = {
enable = true;
package = pkgs.pass.withExtensions (exts: [exts.pass-otp exts.pass-import]);
settings = { PASSWORD_STORE_DIR = "$HOME/sync/general/pass"; };
};
services.mpd = {
enable = true;
musicDirectory = "/home/${vars.user}/Music";
@ -51,41 +46,17 @@
services.mpd-discord-rpc.enable = true;
services.syncthing.enable = (vars.useSyncthing);
#xdg.configFile."openxr/1/active_runtime.json".source = if vars.user == "alyx" then "${pkgs.monado}/share/openxr/1/openxr_monado.json" else null;
xdg.configFile."openvr/openvrpaths.vrpath".text = ''
{
"config" :
[
"${config.xdg.dataHome}/Steam/config"
],
"external_drivers" : null,
"jsonid" : "vrpathreg",
"log" :
[
"${config.xdg.dataHome}/Steam/logs"
],
"runtime" :
[
"${pkgs.opencomposite}/lib/opencomposite"
],
"version" : 1
}
'';
programs.waybar = {
enable = true;
};
programs.git = {
enable = true;
userName = vars.user;
userEmail = (if vars.user == "alyx" then "cydiralis@proton.me" else "beanigit@protonmail.com");
extraConfig = {
settings = {
user.name = vars.user;
user.email = "cydiralis@proton.me";
commit.gpgsign = true;
gpg.format = "ssh";
user.signingkey = "~/.ssh/id_ed25519.pub";
user.signingKey = "~/.ssh/id_ed25519.pub";
init.defaultBranch = "main";
};
};
@ -106,16 +77,10 @@ xdg.configFile."openvr/openvrpaths.vrpath".text = ''
};
};
};
services.kanshi = {
enable = true;
settings = [
{
profile.name = "maya-desktop";
profile.outputs = [
{ criteria = "Dell Inc. DELL P2411H MGMHG1681VAU"; position = "0,1050"; }
{ criteria = "Samsung Electric Company SyncMaster HMDQ202016"; position = "0,0"; }
];
}
{
profile.name = "alyx-desktop";
profile.outputs = [
@ -134,11 +99,11 @@ xdg.configFile."openvr/openvrpaths.vrpath".text = ''
programs.obs-studio = {
enable = true;
plugins = with pkgs.obs-studio-plugins; [
wlrobs
obs-backgroundremoval
obs-pipewire-audio-capture
];
# plugins = with pkgs.obs-studio-plugins; [
# wlrobs
# obs-backgroundremoval
# obs-pipewire-audio-capture
# ];
};
}

View file

@ -1,43 +1,25 @@
{pkgs, vars, ...}:{
home.packages = with pkgs; [
abaddon
blender
brightnessctl
bs-manager
clonehero
comma
cinny-desktop
discordo
dissent
emacs
fastfetch
librewolf
fzf
gomuks
gimp
grayjay
gzdoom
hyfetch
inkscape
kanshi
kdePackages.ark
legcord
libgpod
libimobiledevice
libnotify
libreoffice
mpc
nemo
nextcloud-client
openrct2
openscad
openutau
pamixer
pavucontrol
playerctl
prismlauncher
prusa-slicer
ripcord
swaybg
swaynotificationcenter
tetrio-desktop
@ -50,7 +32,6 @@
wlr-randr
wttrbar
wlx-overlay-s
xfce.ristretto
xfce.tumbler
];
}

View file

@ -1,39 +0,0 @@
{
services.syncthing = {
overrideDevices = true;
overrideFolders = true;
settings = {
devices = {
"hypermac" = { id = "XVY5YLM-QETCA4H-KT4XBEH-IR4U47O-CJCJ5YM-DPVWQQX-VHEK4MS-GJCMIQ2"; };
"adventurer" = { id = "LLKP3BJ-5RBN5KR-63NXUCW-JC4FMAX-QOXTJBK-65OHI7V-OKZQPTD-5FJIIAB"; };
"callisto" = { id = "NPXGWEK-JP4C2NM-QZZPBYI-ISAXIZK-ORCNVGO-C4GFRHJ-SWWFQGC-F5JAMQC"; };
"traveler" = { id = "JVNNE3V-IMVW2YL-JKEWUJZ-N5PU4NE-3YQDEU7-77ZHIP3-ADW3LAA-NODOVA3"; };
};
folders = {
"General" = {
path = "/home/maya/sync/general";
devices = [ "callisto" "hypermac" "adventurer" "traveler" ];
};
"Music" = {
path = "/home/maya/Music";
devices = [ "callisto" "hypermac" "adventurer" "traveler" ];
};
"College" = {
path = "/home/maya/sync/college";
devices = [ "callisto" "hypermac" "adventurer" "traveler" ];
versioning = {
type = "staggered";
params = {
cleanInterval = "3600";
maxAge = "15768000";
};
};
};
"PrusaSlicer" = {
path = "/home/maya/.config/PrusaSlicer";
devices = [ "callisto" "hypermac" "adventurer" "traveler" ];
};
};
};
};
}

View file

@ -1,4 +1,4 @@
{pkgs, ...}:{
{pkgs, lib, ...}:{
home.pointerCursor = {
gtk.enable = true;
x11.enable = true;
@ -8,12 +8,10 @@
};
catppuccin = {
enable = true;
gtk.enable = false;
kvantum.enable = true;
waybar.enable = false;
};
gtk = {
#catppuccin.enable = false;
enable = true;
theme = {
name = "catppuccin-mocha-mauve-standard";
@ -23,8 +21,6 @@
variant = "mocha";
};
};
iconTheme.package = pkgs.adwaita-icon-theme;
iconTheme.name = "Adwaita";
};
qt = {
enable = true;

View file

@ -1,146 +0,0 @@
[
{
"layer": "top",
"margin-top": 10,
"margin-left": 12,
"margin-right": 12,
"height": 35,
"spacing": 5,
"position": "top",
"modules-center": ["group/mpdg"],
"modules-left": ["group/dtray", "battery", "battery#bat1", "battery#bat2"],
"modules-right": ["clock", "group/audio", "disk", "memory", "cpu"],
"memory": {
"format": " {avail} +  {swapAvail} GiB",
},
"cava": {
"method": "pipewire",
"format-icons" : ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█" ],
"bar_delimiter": 0,
"bars": 12,
"stereo": false,
"hide_on_silence": true,
"input_delay": 1,
"autosens": 0,
"noise_reduction": 0.5,
"sensitivity": 13,
},
"disk": {
"format": " {free} {path}",
},
"cpu": {
"format": " {usage}% {max_frequency}GHz",
"states": { "highcpu": 85 },
},
"group/dtray": {
"orientation": "inherit",
"drawer": {
"transition-duration": 500,
"transition-left-to-right": true
},
"modules": ["custom/arrow", "tray"]
},
"group/audio": {
"orientation": "inherit",
"modules": ["wireplumber", ],
"on-click": "pavucontrol",
},
"group/mpdg": {
"orientation": "inherit",
"drawer": {
"transition-duration": 500,
"children-class": "mpdcontrol",
"transition-left-to-right": true
},
"modules": ["mpd", "custom/playpause", "custom/prev", "custom/next"]
},
"custom/playpause": {
"format": "󰐎",
"on-click": "mpc toggle"
},
"custom/prev": {
"format": "󰒮",
"on-click": "mpc prev"
},
"custom/next": {
"format": "󰒭",
"on-click": "mpc next"
},
"custom/arrow": {
"format": " ",
"tooltip": false,
"on-click": "swaync-client -t",
},
"tray": {
"spacing": 5
},
"clock": {
"format": "{:%I:%M %p}",
},
"wireplumber": {
"on-click": "pavucontrol",
"format": "󰓃 {volume}%",
"format-muted": "󰓄 {volume}%",
},
"mpd": {
"on-click": "mpc toggle",
"format-disconnected": "MPD seems to be down",
"format-stopped": "Nothing playing!",
"format": "{title} - {album} - {artist}",
"format-paused": "{title} - {album} - {artist}",
},
"battery": {
"bat": "BAT0",
"interval": 5,
"format-icons": [" ", " ", " ", " ", " "],
"states": {
"warning": 30,
"critical": 15,
"dead": 5
},
"format": "{icon} {capacity}%",
"tooltip-format": "BAT0, {power}W"
},
"battery#bat1": {
"bat": "BAT1",
"interval": 5,
"format-icons": [" ", " ", " ", " ", " "],
"states": {
"warning": 30,
"critical": 15,
"dead": 5
},
"format": "{icon} {capacity}%",
"tooltip-format": "BAT1, {power}W"
},
"battery#bat2": {
"bat": "BAT2",
"interval": 5,
"format-icons": [" ", " ", " ", " ", " "],
"states": {
"warning": 30,
"critical": 15,
"dead": 5
},
"format": "{icon} {capacity}%",
"tooltip-format": "BAT2, {power}W"
},
}
]

View file

@ -1,114 +0,0 @@
@define-color rosewater #f5e0dc;
@define-color flamingo #f2cdcd;
@define-color pink #f5c2e7;
@define-color mauve #cba6f7;
@define-color red #f38ba8;
@define-color maroon #eba0ac;
@define-color peach #fab387;
@define-color yellow #f9e2af;
@define-color green #a6e3a1;
@define-color teal #94e2d5;
@define-color sky #89dceb;
@define-color sapphire #74c7ec;
@define-color blue #89b4fa;
@define-color lavender #b4befe;
@define-color text #cdd6f4;
@define-color subtext1 #bac2de;
@define-color subtext0 #a6adc8;
@define-color overlay2 #9399b2;
@define-color overlay1 #7f849c;
@define-color overlay0 #6c7086;
@define-color surface2 #585b70;
@define-color surface1 #45475a;
@define-color surface0 #313244;
@define-color base #1e1e2e;
@define-color mantle #181825;
@define-color crust #11111b;
/* forgive me, above is the contents of catppuccin mocha's waybar css file */
* {
font-family: Iosevka NF;
}
window#waybar {
background-color: rgba(49, 50, 68, 0.999);
/* padding: 0px 5px;
margin: 5px 10px 5px; */
border-radius: 10px;
}
#clock,
#audio,
#mpd,
#battery,
#cpu,
#disk,
#memory {
padding: 5px;
border-radius: 10px;
border: 0.2em solid #cba6f7;
background: @surface2;
min-height: 0;
margin: 0.2em;
}
#battery.warning {
border: 0.2em solid @yellow;
}
#battery.critical {
border: 0.2em solid @red;
}
#battery.dead {
background: @surface0;
color: @surface2;
border: 0.2em solid @overlay1;
}
#dtray {
margin: 0px 10px 0px;
padding: 0px 10px 0px;
}
#wireplumber.muted {
border: 0;
color: #888888;
}
#mpd.stopped {
background-color: @surface0;
border: 0
}
#mpd.playing {
background: @mauve;
}
.mpdcontrol {
background-color: @surface0;
/* border-radius: 10px; */
font-size: 1.2em;
}
#custom-playpause {
background-color: #e5a6f7;
padding-right: 10px;
padding-left: 5px;
}
#custom-prev {
background-color: #F7A6E8;
padding-right: 7px;
padding-left: 6px;
}
#custom-next {
background-color: #FAA5B7;
padding-right: 8px;
padding-left: 6px;
border-top-right-radius: 10px;
border-bottom-right-radius: 10px;
}
#mpdg:hover {
border-bottom-left-radius: 10px;
border-top-left-radius: 10px;
background: #e5a6f7;
}
#battery.charging {
background: @mauve;
}
#cava {
margin-left: 0.2em;
color: @mauve;
}
#cpu.highcpu {
background: @mauve;
}

BIN
home/wooz

Binary file not shown.