adding desktop config

This commit is contained in:
chrisbell committed 2026-10-03 10:46:08 -05:00
commit 3a345929b9
21 files changed
+1131

No files matched your search

+233
View File
@@ -0,0 +1,233 @@
{ config, inputs, pkgs, ... }:
{
imports =
[
/etc/nixos/hardware-configuration.nix
inputs.home-manager.nixosModules.default
../../modules/nixos/nvidia.nix
../../modules/nixos/bspwm.nix
../../modules/nixos/cups.nix
];
nixpkgs.overlays = [
(import ./ghidra-m32r-overlay.nix)
];
# Extra Nix Settings
nix.settings = {
auto-optimise-store = true;
experimental-features = [ "nix-command" "flakes" ];
};
programs.nix-ld.enable = true;
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "nixos";
networking.networkmanager.enable = true;
time.timeZone = "America/Chicago";
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
# Configure keymap in X11
services.xserver.xkb = {
layout = "us";
variant = "";
};
# 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;
};
# Enable Direnv
programs.direnv.enable = true;
# User Account
users.users.chris = {
isNormalUser = true;
description = "chris";
extraGroups = [ "networkmanager" "wheel" "dialout" "storage" ];
shell = pkgs.zsh;
packages = with pkgs; [
telegram-desktop
discord
ungoogled-chromium
inkscape
obsidian
sourcegit
obs-studio
r2modman
signal-desktop
kdePackages.dolphin
flameshot
vscodium
nautilus
onlyoffice-desktopeditors
vlc
orca-slicer
blender
grayjay
vlc
kdePackages.kdenlive
kicad
ghidra
];
};
home-manager = {
useUserPackages = true;
extraSpecialArgs = { inherit inputs; };
users."chris" = import ./home.nix;
};
services.freenet = {
enable = true;
};
# Garbage Collection
nix.gc = {
automatic = true;
dates = "weekly";
persistent = true;
options = "";
};
# Mount the data drive
fileSystems."/data" = {
device = "/dev/disk/by-uuid/58c7b996-c436-47e8-8018-244417acf067";
fsType = "ext4";
options = [ "nofail" ];
};
# ZSH
programs.zsh = {
enable = true;
enableCompletion = true;
autosuggestions.enable = true;
syntaxHighlighting.enable = true;
interactiveShellInit = ''
fastfetch
'';
shellAliases = {
ll = "ls -l";
edit = "hx ~/dotfiles";
update = "sh ~/dotfiles/rebuild.sh";
ssh-server = "ssh braincell@192.168.1.3";
calc = "kalker";
n = "nvim .";
# ssh-pihole = "ssh bell@192.168.1.23";
};
histSize = 10000;
histFile = "$HOME/.zsh_history";
setOptions = [
"HIST_IGNORE_ALL_DUPS"
];
oh-my-zsh = {
enable = true;
theme = "clean";
plugins = ["git" "sudo" "direnv"];
};
};
# Steam
programs.steam.enable = true;
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# System Packages
environment.systemPackages = with pkgs; [
vim
wget
git
file
helix
lazygit
nixd
fastfetch
disktui
busybox
kalker
nmap
screen
btop
udiskie
];
# extra filesystems
boot.supportedFilesystems = {
exfat = true;
ntfs = true;
};
# Enable Virtualization
virtualisation.libvirtd.enable = true;
programs.virt-manager.enable = true;
virtualisation.podman = {
enable = true;
dockerCompat = true;
};
# Enable Flatpacks
services.flatpak.enable = true;
# Xdg portal
xdg.portal = {
enable = true;
extraPortals = [pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-gnome];
# config.common.default = "";
};
# OpenSSH
services.openssh.enable = true;
# UDisks (for auto mounting)
services.udisks2 = {
enable = true;
};
services.gvfs.enable = true;
systemd.user.services.udiskie = {
description = "udiskie automount daemon";
wantedBy = [ "graphical-session.target" ];
partOf = [ "graphical-session.target" ];
serviceConfig = {
ExecStart = "${pkgs.udiskie}/bin/udiskie --automount --notify --tray";
Restart = "always";
};
};
# Firewall
networking.firewall.allowedTCPPorts = [ 9999 ];
networking.firewall.allowedUDPPorts = [ 9999 ];
system.stateVersion = "25.11"; # Did you read the comment? DONT TOUCH :)
}
+33
View File
@@ -0,0 +1,33 @@
# 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 = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/8240c6bd-46fa-4a0c-bc5a-7120ca9b4e32";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/8E53-D417";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/ebd7c6d8-9520-4c7b-81d9-3e6e89cf5303"; }
];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}
+24
View File
@@ -0,0 +1,24 @@
{ config, pkgs, ... }:
{
home.username = "chris";
home.homeDirectory = "/home/chris";
home.stateVersion = "26.05"; # Please read the comment before changing.
programs.home-manager.enable = true;
imports = [
../../modules/home-manager/defaults.nix
../../modules/home-manager/sxhkd.nix
../../modules/home-manager/terminals/alacritty.nix
# ../../modules/home-manager/browsers/ugc.nix
../../modules/home-manager/bspwm.nix
../../modules/home-manager/polybar.nix
# ../../modules/home-manager/editors/helix.nix
];
my.defaults = {
terminal = "alacritty";
editor = "hx";
browser = "zen";
};
}
+331
View File
@@ -0,0 +1,331 @@
{ config, inputs, pkgs, ... }:
{
imports =
[
/etc/nixos/hardware-configuration.nix
./big-picture-launcher.nix
];
nixpkgs.overlays = [
(import ./ghidra-m32r-overlay.nix)
];
# Extra Nix Settings
nix.settings = {
auto-optimise-store = true;
experimental-features = [ "nix-command" "flakes" ];
};
programs.nix-ld.enable = true;
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "nixos"; # Define your hostname.
# 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
networking.networkmanager.enable = true;
# Set your time zone.
time.timeZone = "America/Chicago";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
# Nvidia shit
hardware.graphics.enable = true;
services.xserver.videoDrivers = [ "nvidia" ];
hardware.nvidia.open = false;
# Enable the X11 windowing system.
services.xserver.enable = true;
# DMs/WMs
environment.pathsToLink = ["/libexec"];
services.xserver = {
desktopManager = {
xterm.enable = false;
xfce.enable = true;
# lxqt.enable = true;
};
displayManager = {
# lightdm.enable = true;
# gdm.enable = true;
sddm.enable = true;
};
windowManager.i3 = {
enable = true;
extraPackages = with pkgs; [
dmenu
];
};
};
# services.displayManager.defaultSession = "none+i3";
# programs.i3lock.enable = true;
# end i3wm
# Configure keymap in X11
services.xserver.xkb = {
layout = "us";
variant = "";
};
# Enable CUPS to print documents.
services.printing.enable = true;
services.avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
# 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;
};
# Enable Direnv
programs.direnv.enable = true;
# User Account
users.users.chris = {
isNormalUser = true;
description = "chris";
extraGroups = [ "networkmanager" "wheel" "dialout" "storage" ];
shell = pkgs.zsh;
packages = with pkgs; [
telegram-desktop
discord
ungoogled-chromium
inkscape
obsidian
sourcegit
obs-studio
r2modman
signal-desktop
kdePackages.dolphin
flameshot
vscodium
# jetbrains.rider
nautilus
# element-desktop
onlyoffice-desktopeditors
vlc
orca-slicer
blender
# mudlet
grayjay
vlc
kdePackages.kdenlive
kicad
ghidra
];
};
services.freenet = {
enable = true;
};
# Garbage Collection
nix.gc = {
automatic = true;
dates = "weekly";
persistent = true;
options = "";
};
# Printing
services.printing.drivers = [
pkgs.brlaser
pkgs.brgenml1lpr
pkgs.brgenml1cupswrapper
];
# Mount the data drive
fileSystems."/data" = {
device = "/dev/disk/by-uuid/58c7b996-c436-47e8-8018-244417acf067";
fsType = "ext4";
options = [ "nofail" ];
};
# ZSH
programs.zsh = {
enable = true;
enableCompletion = true;
autosuggestions.enable = true;
syntaxHighlighting.enable = true;
interactiveShellInit = ''
fastfetch
'';
shellAliases = {
ll = "ls -l";
edit = "hx ~/dotfiles";
update = "sh ~/dotfiles/rebuild.sh";
ssh-server = "ssh braincell@192.168.1.3";
calc = "kalker";
n = "nvim .";
# ssh-pihole = "ssh bell@192.168.1.23";
};
histSize = 10000;
histFile = "$HOME/.zsh_history";
setOptions = [
"HIST_IGNORE_ALL_DUPS"
];
oh-my-zsh = {
enable = true;
theme = "clean";
plugins = ["git" "sudo" "direnv"];
};
};
# Steam
programs.steam.enable = true;
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# System Packages
environment.systemPackages = with pkgs; [
vim
wget
git
file
helix
lazygit
kitty
picom
arandr
feh
nixd
quickshell
inputs.noctalia.packages.${system}.default
xwayland-satellite
adw-gtk3
nwg-look
fastfetch
swaylock
xdg-desktop-portal-gtk
xdg-desktop-portal-gnome
gnome-keyring
parted
gparted
disktui
busybox
kalker
nmap
screen
btop
udiskie
thunar
distrobox
wine
# wine-staging
wine-wayland
winetricks
];
# programs.neovim = {
# enable = true;
# defaultEditor = true;
# };
# Emulate arm
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
# extra filesystems
boot.supportedFilesystems = {
exfat = true;
ntfs = true;
};
# Enable GDM
# services.xserver.displayManager.gdm.enable = true;
# Enable Virtualization
virtualisation.libvirtd.enable = true;
programs.virt-manager.enable = true;
virtualisation.podman = {
enable = true;
dockerCompat = true;
};
# Enable Flatpacks
services.flatpak.enable = true;
# Xdg portal
xdg.portal = {
enable = true;
extraPortals = [pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-gnome];
# config.common.default = "";
};
# OpenSSH
services.openssh.enable = true;
# UDisks (for auto mounting)
services.udisks2 = {
enable = true;
};
services.gvfs.enable = true;
systemd.user.services.udiskie = {
description = "udiskie automount daemon";
wantedBy = [ "graphical-session.target" ];
partOf = [ "graphical-session.target" ];
serviceConfig = {
ExecStart = "${pkgs.udiskie}/bin/udiskie --automount --notify --tray";
Restart = "always";
};
};
# Firewall
networking.firewall.allowedTCPPorts = [ 9999 ];
networking.firewall.allowedUDPPorts = [ 9999 ];
# Or disable the firewall altoget.
# networking.firewall.enable = false;
# networking.nameservers = [ "192.168.1.3" "1.1.1.1" ];
system.stateVersion = "25.11"; # Did you read the comment? DONT TOUCH :)
}
+88
View File
@@ -0,0 +1,88 @@
{ config, pkgs, inputs, ... }:
{
imports =
[
./hardware-configuration.nix
inputs.home-manager.nixosModules.default
../../modules/nixos/bspwm.nix
../../modules/nixos/quadro-m1000m.nix
];
# Nix options
nix.settings = {
experimental-features = ["nix-command" "flakes"];
};
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
# Use latest kernel.
boot.kernelPackages = pkgs.linuxPackages_latest;
networking.hostName = "p50"; # Define your hostname.
# Enable networking
networking.networkmanager.enable = true;
# Set your time zone.
time.timeZone = "America/Chicago";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
# Configure keymap in X11
services.xserver.xkb = {
layout = "us";
variant = "";
};
# Define a user account. Don't forget to set a password with ‘passwd’.
users.users."chris" = {
isNormalUser = true;
description = "chris";
extraGroups = [ "networkmanager" "wheel" ];
packages = with pkgs; [];
};
home-manager = {
useUserPackages = true;
extraSpecialArgs = { inherit inputs; };
users."chris" = import ./home.nix;
};
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [
vim
wget
helix
nixd
git
fastfetch
btop
];
# Enable the OpenSSH daemon.
services.openssh.enable = true;
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
system.stateVersion = "26.05"; # Did you read the comment?
}
+31
View File
@@ -0,0 +1,31 @@
# 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" "ahci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/e313b664-984e-4f55-ad80-388aa39457fc";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/96F9-3011";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices = [ ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}
+24
View File
@@ -0,0 +1,24 @@
{ config, pkgs, ... }:
{
home.username = "chris";
home.homeDirectory = "/home/chris";
home.stateVersion = "26.05"; # Please read the comment before changing.
programs.home-manager.enable = true;
imports = [
../../modules/home-manager/defaults.nix
../../modules/home-manager/sxhkd.nix
../../modules/home-manager/terminals/alacritty.nix
../../modules/home-manager/browsers/ugc.nix
../../modules/home-manager/bspwm.nix
../../modules/home-manager/polybar.nix
# ../../modules/home-manager/editors/helix.nix
];
my.defaults = {
terminal = "alacritty";
editor = "hx";
browser = "chromium";
};
}