adding desktop config
This commit is contained in:
commit
3a345929b9
21 files changed
+1131
No files matched your search
@@ -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 :)
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
Executable
+331
@@ -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 :)
|
||||
}
|
||||
Reference in new issue
Block a user