This commit is contained in:
4DBug
2026-01-17 15:47:51 -06:00
parent 1cc44d52c1
commit 124c9586cc
10 changed files with 109 additions and 68 deletions

View File

@@ -1,5 +0,0 @@
# This directory is a Syncthing folder marker.
# Do not delete.
folderID: nix
created: 2025-03-12T07:20:56-05:00

View File

@@ -1,3 +0,0 @@
# nix
![](https://github.com/4DBug/nix/blob/main/screenshot.png?raw=true)
sudo ln -s ~/nix/main.nix /etc/nixos/main.nix

BIN
etc/.DS_Store vendored

Binary file not shown.

View File

@@ -2,6 +2,6 @@
{ {
imports = [ imports = [
./main.nix /home/bug/nix/main.nix
]; ];
} }

1
etc/nixos/device.nix Normal file
View File

@@ -0,0 +1 @@
{ desktop = false; }

View File

@@ -6,17 +6,23 @@
flatpaks.url = "github:gmodena/nix-flatpak/?ref=latest"; flatpaks.url = "github:gmodena/nix-flatpak/?ref=latest";
nixos-cosmic.url = "github:lilyinstarlight/nixos-cosmic"; nixos-cosmic.url = "github:lilyinstarlight/nixos-cosmic";
stylix = {
url = "github:nix-community/stylix";
inputs.nixpkgs.follows = "nixpkgs";
};
}; };
outputs = inputs@{ self, nixpkgs, home-manager, flatpaks, ... }: outputs = inputs@{ self, nixpkgs, stylix, home-manager, flatpaks, ... }:
let let
deviceType = import /etc/nixos/device.nix;
system = "x86_64-linux"; system = "x86_64-linux";
in in
{ {
nixosConfigurations.nix = nixpkgs.lib.nixosSystem { nixosConfigurations.nix = nixpkgs.lib.nixosSystem {
inherit system; inherit system;
specialArgs = { inherit inputs; }; specialArgs = { inherit inputs; inherit (deviceType) desktop; };
modules = [ modules = [
{ {
@@ -28,6 +34,8 @@
flatpaks.nixosModules.nix-flatpak flatpaks.nixosModules.nix-flatpak
stylix.nixosModules.stylix
./configuration.nix ./configuration.nix
]; ];
}; };

138
main.nix
View File

@@ -1,4 +1,4 @@
{ lib, config, inputs, pkgs, ... }: { lib, config, inputs, pkgs, desktop, ... }:
let let
nix-gaming = import (builtins.fetchTarball "https://github.com/fufexan/nix-gaming/archive/master.tar.gz"); nix-gaming = import (builtins.fetchTarball "https://github.com/fufexan/nix-gaming/archive/master.tar.gz");
@@ -41,28 +41,14 @@ in
libva-vdpau-driver libva-vdpau-driver
libvdpau libvdpau
libvdpau-va-gl libvdpau-va-gl
nvidia-vaapi-driver
vdpauinfo vdpauinfo
libva libva
libva-utils libva-utils
libglvnd
mesa
]; ];
}; };
nvidia = {
modesetting.enable = true;
powerManagement.enable = false;
powerManagement.finegrained = false;
open = false;
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.latest;
nvidiaPersistenced = false;
};
enableRedistributableFirmware = true; enableRedistributableFirmware = true;
}; };
@@ -73,9 +59,11 @@ in
#systemd.extraConfig = "DefaultTimeoutStopSec=10s"; #systemd.extraConfig = "DefaultTimeoutStopSec=10s";
systemd.services.monitord.wantedBy = [ "multi-user.target" ]; systemd.services.monitord.wantedBy = [ "multi-user.target" ];
boot = { systemd.services.mpd.environment = {
kernelParams = [ "nvidia_drm.fbdev=1" ]; XDG_RUNTIME_DIR = "/run/user/1000";
};
boot = {
kernelPackages = pkgs.linuxPackages_zen; kernelPackages = pkgs.linuxPackages_zen;
kernel.sysctl = { kernel.sysctl = {
@@ -135,6 +123,8 @@ in
nameservers = ["1.1.1.1" "1.0.0.1"]; nameservers = ["1.1.1.1" "1.0.0.1"];
}; };
services.cloudflare-warp.enable = !desktop;
security = { security = {
rtkit.enable = true; rtkit.enable = true;
polkit.enable = true; polkit.enable = true;
@@ -188,28 +178,30 @@ in
services = { services = {
greetd.enable = true; greetd.enable = true;
logind.settings.Login = {
HandleLidSwitch = "ignore";
HandleLidSwitchDocked = "ignore";
};
system76-scheduler.enable = true; system76-scheduler.enable = true;
displayManager = { displayManager = {
# gdm.enable = true;
cosmic-greeter.enable = true; cosmic-greeter.enable = true;
autoLogin = { autoLogin = {
enable = true; enable = desktop;
user = "bug"; user = "bug";
}; };
}; };
desktopManager = { desktopManager = {
cosmic.enable = true; cosmic.enable = true;
# gnome.enable = true;
}; };
xserver = { xserver = {
enable = true; enable = true;
videoDrivers = ["nvidia"];
videoDrivers = if desktop then ["nvidia"] else ["amdgpu"];
excludePackages = [pkgs.xterm]; excludePackages = [pkgs.xterm];
xkb = { xkb = {
@@ -227,6 +219,8 @@ in
pipewire = { pipewire = {
enable = true; enable = true;
wireplumber.enable = true;
alsa.enable = true; alsa.enable = true;
alsa.support32Bit = true; alsa.support32Bit = true;
@@ -237,6 +231,32 @@ in
jack.enable = true; jack.enable = true;
}; };
mpd = {
enable = !desktop;
settings = {
music_directory = "/run/media/bug/Music/";
decoder = [
{
plugin = "ffmpeg";
enabled = "yes";
}
{
plugin = "opus";
enabled = "no";
}
];
audio_output = [{
type = "pipewire";
name = "PipeWire Sound Server";
}];
};
user = "bug";
};
flatpak = { flatpak = {
enable = true; enable = true;
@@ -251,9 +271,18 @@ in
packages = [ packages = [
"org.vinegarhq.Sober" "org.vinegarhq.Sober"
"org.vinegarhq.Vinegar" "org.vinegarhq.Vinegar"
#"com.bambulab.BambuStudio"
"org.gnome.Decibels" "org.gnome.Decibels"
"org.pipewire.Helvum" "org.pipewire.Helvum"
"community.pathofbuilding.PathOfBuilding"
rec {
appId = "com.hytale.Launcher";
sha256 = "sha256-iBYZTbm82X+CbF9v/7pwOxxxfK/bwlBValCAVC5xgV8=";
bundle = "${pkgs.fetchurl {
url = "https://launcher.hytale.com/builds/release/linux/amd64/hytale-launcher-latest.flatpak";
inherit sha256;
}}";
}
]; ];
overrides = { overrides = {
@@ -305,8 +334,6 @@ in
mido mido
pyautogui pyautogui
pygobject3 pygobject3
pycairo pycairo
@@ -345,8 +372,7 @@ in
scanmem scanmem
samrewritten samrewritten
impression impression
#bambu-studio bambu-studio
#orca-slicer
resources resources
authenticator authenticator
@@ -356,15 +382,13 @@ in
obs-studio obs-studio
#prismlauncher #prismlauncher
#gimp
euphonica
]; ];
environment = { environment = {
variables = { variables = {
WGPU_BACKEND = "gl"; MICRO_TRUECOLOR = 1;
GBM_BACKEND = "nvidia-drm";
LIBVA_DRIVER_NAME = "nvidia";
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
}; };
sessionVariables = { sessionVariables = {
@@ -408,18 +432,12 @@ in
lug-helper lug-helper
(nix-gaming.packages.${pkgs.stdenv.hostPlatform.system}.star-citizen.override {
tricks = [ "arial" "vcrun2019" "win10" "sound=alsa" ];
})
appimage-run appimage-run
vulkan-tools vulkan-tools
vulkan-validation-layers vulkan-validation-layers
vulkan-loader vulkan-loader
protonplus
pulseaudioFull pulseaudioFull
gamemode gamemode
@@ -451,29 +469,33 @@ in
lutris lutris
gnome-software gnome-software
];
neovim
micro
] ++ (if desktop then [
(nix-gaming.packages.${pkgs.stdenv.hostPlatform.system}.star-citizen.override {
tricks = [ "arial" "vcrun2019" "win10" "sound=alsa" ];
})
libxshmfence
(appimage-run.override {
extraPkgs = pkgs: [ pkgs.xorg.libxshmfence pkgs.linuxPackages.nvidia_x11 ];
})
] else [
]);
}; };
nixpkgs = { nixpkgs = {
config = { config = {
allowUnfree = true; allowUnfree = true;
cudaSupport = true; cudaSupport = desktop;
nvidia.acceptLicense = true;
}; };
overlays = [ overlays = [
(self: super: {
bambu-studio = super.bambu-studio.overrideAttrs (oldAttrs: let
cudap = self.cudaPackages.cudatoolkit;
lib = self.lib;
in {
cmakeFlags = (oldAttrs.cmakeFlags or []) ++ [
"-DCUDA_TOOLKIT_ROOT_DIR=${toString cudap}"
"-DCUDAToolkit_ROOT=${toString cudap}"
];
});
})
]; ];
}; };
@@ -489,7 +511,7 @@ in
}; };
bash.shellAliases = { bash.shellAliases = {
fetch = "fastfetch --file ~/Pictures/Ansi/nix.ans"; fetch = "fastfetch --file ~/nix/nix.ans";
neofetch = "fetch"; neofetch = "fetch";
rebuild = "sudo nixos-rebuild switch --impure"; # home-manager switch --impure rebuild = "sudo nixos-rebuild switch --impure"; # home-manager switch --impure
@@ -511,6 +533,8 @@ ssh -R \"$\{name}:80:localhost:$\{port}\" tuns.sh'\'' _";
pgs = "bash -c '\''if [ \"$#\" -ne 2 ]; then echo \"Usage: pgs NAME DIRECTORY\"; exit 1; fi; rsync -rv \"$2\" pgs.sh:/\"$1\"'\'' _"; pgs = "bash -c '\''if [ \"$#\" -ne 2 ]; then echo \"Usage: pgs NAME DIRECTORY\"; exit 1; fi; rsync -rv \"$2\" pgs.sh:/\"$1\"'\'' _";
bambu = "env -u WAYLAND_DISPLAY XDG_SESSION_TYPE=x11 WEBKIT_FORCE_COMPOSITING_MODE=1 WEBKIT_DISABLE_COMPOSITING_MODE=1 GBM_BACKEND=dri bambu-studio"; bambu = "env -u WAYLAND_DISPLAY XDG_SESSION_TYPE=x11 WEBKIT_FORCE_COMPOSITING_MODE=1 WEBKIT_DISABLE_COMPOSITING_MODE=1 GBM_BACKEND=dri bambu-studio";
scale = "env GDK_BACKEND=x11 GDK_SCALE=1 GDK_DPI_SCALE=1";
}; };
firefox = { firefox = {

16
nix.ans Executable file
View File

@@ -0,0 +1,16 @@
 ◢██◣ ◥███◣ ◢██◣
 ◥███◣ ◥███◣◢███◤
 ◥███◣ ◥██████◤
 ◢████████████◣████◤ ◢◣
 ◢██████████████◣███◣ ◢██◣
 ◢███◤ ◥███◣◢███◤
 ◢███◤ ◥██◤███◤
◢█████████◤ ◥◤████████◣
◥████████◤◣ ◢█████████◤
 ◢███◤██◣ ◢███◤
 ◢███◤◥███◣ ◢███◤
 ◥██◤ ◥███◣██████████████◤
 ◥◤ ◢████◣████████████◤
 ◢██████◣ ◥███◣
 ◢███◤◥███◣ ◥███◣
 ◥██◤ ◥███◣ ◥██◤

BIN
nix.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 MiB