diff --git a/.stfolder/syncthing-folder-a0745f.txt b/.stfolder/syncthing-folder-a0745f.txt deleted file mode 100644 index 3e320bf..0000000 --- a/.stfolder/syncthing-folder-a0745f.txt +++ /dev/null @@ -1,5 +0,0 @@ -# This directory is a Syncthing folder marker. -# Do not delete. - -folderID: nix -created: 2025-03-12T07:20:56-05:00 diff --git a/README.md b/README.md deleted file mode 100644 index 3613309..0000000 --- a/README.md +++ /dev/null @@ -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 diff --git a/etc/.DS_Store b/etc/.DS_Store deleted file mode 100644 index 1e073e3..0000000 Binary files a/etc/.DS_Store and /dev/null differ diff --git a/etc/nixos/configuration.nix b/etc/nixos/configuration.nix index 2034519..d7a39b1 100644 --- a/etc/nixos/configuration.nix +++ b/etc/nixos/configuration.nix @@ -2,6 +2,6 @@ { imports = [ - ./main.nix + /home/bug/nix/main.nix ]; } diff --git a/etc/nixos/device.nix b/etc/nixos/device.nix new file mode 100644 index 0000000..20d75e6 --- /dev/null +++ b/etc/nixos/device.nix @@ -0,0 +1 @@ +{ desktop = false; } \ No newline at end of file diff --git a/etc/nixos/flake.nix b/etc/nixos/flake.nix index 0f0e93d..cf2aa99 100644 --- a/etc/nixos/flake.nix +++ b/etc/nixos/flake.nix @@ -6,17 +6,23 @@ flatpaks.url = "github:gmodena/nix-flatpak/?ref=latest"; 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 + deviceType = import /etc/nixos/device.nix; system = "x86_64-linux"; in { nixosConfigurations.nix = nixpkgs.lib.nixosSystem { inherit system; - specialArgs = { inherit inputs; }; + specialArgs = { inherit inputs; inherit (deviceType) desktop; }; modules = [ { @@ -28,6 +34,8 @@ flatpaks.nixosModules.nix-flatpak + stylix.nixosModules.stylix + ./configuration.nix ]; }; diff --git a/main.nix b/main.nix index 9d7b7e6..ad7e152 100644 --- a/main.nix +++ b/main.nix @@ -1,4 +1,4 @@ -{ lib, config, inputs, pkgs, ... }: +{ lib, config, inputs, pkgs, desktop, ... }: let nix-gaming = import (builtins.fetchTarball "https://github.com/fufexan/nix-gaming/archive/master.tar.gz"); @@ -41,28 +41,14 @@ in libva-vdpau-driver libvdpau libvdpau-va-gl - nvidia-vaapi-driver vdpauinfo libva 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; }; @@ -73,9 +59,11 @@ in #systemd.extraConfig = "DefaultTimeoutStopSec=10s"; systemd.services.monitord.wantedBy = [ "multi-user.target" ]; - boot = { - kernelParams = [ "nvidia_drm.fbdev=1" ]; + systemd.services.mpd.environment = { + XDG_RUNTIME_DIR = "/run/user/1000"; + }; + boot = { kernelPackages = pkgs.linuxPackages_zen; kernel.sysctl = { @@ -135,6 +123,8 @@ in nameservers = ["1.1.1.1" "1.0.0.1"]; }; + services.cloudflare-warp.enable = !desktop; + security = { rtkit.enable = true; polkit.enable = true; @@ -188,28 +178,30 @@ in services = { greetd.enable = true; + logind.settings.Login = { + HandleLidSwitch = "ignore"; + HandleLidSwitchDocked = "ignore"; + }; + system76-scheduler.enable = true; displayManager = { - # gdm.enable = true; - cosmic-greeter.enable = true; autoLogin = { - enable = true; + enable = desktop; user = "bug"; }; }; desktopManager = { cosmic.enable = true; - - # gnome.enable = true; }; xserver = { enable = true; - videoDrivers = ["nvidia"]; + + videoDrivers = if desktop then ["nvidia"] else ["amdgpu"]; excludePackages = [pkgs.xterm]; xkb = { @@ -227,6 +219,8 @@ in pipewire = { enable = true; + wireplumber.enable = true; + alsa.enable = true; alsa.support32Bit = true; @@ -237,6 +231,32 @@ in 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 = { enable = true; @@ -251,9 +271,18 @@ in packages = [ "org.vinegarhq.Sober" "org.vinegarhq.Vinegar" - #"com.bambulab.BambuStudio" "org.gnome.Decibels" "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 = { @@ -305,8 +334,6 @@ in mido - - pyautogui pygobject3 pycairo @@ -345,8 +372,7 @@ in scanmem samrewritten impression - #bambu-studio - #orca-slicer + bambu-studio resources authenticator @@ -356,15 +382,13 @@ in obs-studio #prismlauncher - #gimp + + euphonica ]; environment = { variables = { - WGPU_BACKEND = "gl"; - GBM_BACKEND = "nvidia-drm"; - LIBVA_DRIVER_NAME = "nvidia"; - __GLX_VENDOR_LIBRARY_NAME = "nvidia"; + MICRO_TRUECOLOR = 1; }; sessionVariables = { @@ -408,18 +432,12 @@ in lug-helper - (nix-gaming.packages.${pkgs.stdenv.hostPlatform.system}.star-citizen.override { - tricks = [ "arial" "vcrun2019" "win10" "sound=alsa" ]; - }) - appimage-run vulkan-tools vulkan-validation-layers vulkan-loader - protonplus - pulseaudioFull gamemode @@ -451,29 +469,33 @@ in lutris 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 = { config = { allowUnfree = true; - cudaSupport = true; - - nvidia.acceptLicense = true; + cudaSupport = desktop; }; 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 = { - fetch = "fastfetch --file ~/Pictures/Ansi/nix.ans"; + fetch = "fastfetch --file ~/nix/nix.ans"; neofetch = "fetch"; 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\"'\'' _"; 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 = { diff --git a/nix.ans b/nix.ans new file mode 100755 index 0000000..64a7b5d --- /dev/null +++ b/nix.ans @@ -0,0 +1,16 @@ + ◢██◣ ◥███◣ ◢██◣ + ◥███◣ ◥███◣◢███◤ + ◥███◣ ◥██████◤ + ◢████████████◣████◤ ◢◣ + ◢██████████████◣███◣ ◢██◣ + ◢███◤ ◥███◣◢███◤ + ◢███◤ ◥██◤███◤ +◢█████████◤ ◥◤████████◣ +◥████████◤◣ ◢█████████◤ + ◢███◤██◣ ◢███◤ + ◢███◤◥███◣ ◢███◤ + ◥██◤ ◥███◣██████████████◤ + ◥◤ ◢████◣████████████◤ + ◢██████◣ ◥███◣ + ◢███◤◥███◣ ◥███◣ + ◥██◤ ◥███◣ ◥██◤ diff --git a/nix.png b/nix.png new file mode 100644 index 0000000..fffa63c Binary files /dev/null and b/nix.png differ diff --git a/screenshot.png b/screenshot.png deleted file mode 100644 index 4215425..0000000 Binary files a/screenshot.png and /dev/null differ