diff --git a/base.nix b/base.nix index b20c3a8..5f50cf7 100644 --- a/base.nix +++ b/base.nix @@ -31,7 +31,6 @@ }]; }; nix = { - nixPath = [ "nixpkgs-overlays=./overlays.nix" ]; optimise.automatic = true; gc = { automatic = true; diff --git a/configuration.nix b/configuration.nix deleted file mode 100644 index c877cb8..0000000 --- a/configuration.nix +++ /dev/null @@ -1,822 +0,0 @@ -{ config, lib, pkgs, ... }: -let - version = "23.11"; - cpuArch = "x86_64-linux"; - myEmail = "CaptainJawZ@outlook.com"; - myName = "Danilo Reyes"; - cpuArchitecture = "znver3"; - home-manager = builtins.fetchTarball - "https://github.com/nix-community/home-manager/archive/release-${version}.tar.gz"; - unstable = import - (builtins.fetchTarball "https://github.com/nixos/nixpkgs/tarball/master") { - config = config.nixpkgs.config; - }; - nixGaming = import (builtins.fetchTarball - "https://github.com/fufexan/nix-gaming/archive/master.tar.gz"); - jawzTasks = - pkgs.writeScriptBin "tasks" (builtins.readFile ../scripts/tasks.sh); -in { # Remember to close this bracket at the end of the document - - imports = [ - # - ./fstab.nix - (import "${home-manager}/nixos") - # nixGaming.nixosModules.pipewireLowLatency - ]; - - networking = { - useDHCP = lib.mkDefault true; - enableIPv6 = false; - hostName = "workstation"; - networkmanager.enable = true; - extraHosts = '' - 192.168.1.69 server - 192.168.1.100 miniserver - ''; - firewall = let - openFirewallPorts = [ - 7860 # gpt - 6674 # ns-usbloader - ]; - openFirewallPortRanges = [{ - from = 1714; - to = 1764; - } # kdeconnect - ]; - in { - enable = true; - allowedTCPPorts = openFirewallPorts; - allowedUDPPorts = openFirewallPorts; - allowedTCPPortRanges = openFirewallPortRanges; - allowedUDPPortRanges = openFirewallPortRanges; - }; - }; - - time = { - timeZone = "America/Mexico_City"; - hardwareClockInLocalTime = true; - }; - i18n = { - defaultLocale = "en_CA.UTF-8"; - extraLocaleSettings = { LC_MONETARY = "es_MX.UTF-8"; }; - }; - console = { - font = "Lat2-Terminus16"; - keyMap = "us"; - # useXkbConfig = true; # use xkbOptions in tty. - }; - - system = { - copySystemConfiguration = true; - stateVersion = "${version}"; - }; - nix = let - featuresList = [ - "nixos-test" - "benchmark" - "big-parallel" - "kvm" - "gccarch-${cpuArchitecture}" - "gccarch-skylake" - ]; - in { - gc = { - automatic = true; - dates = "weekly"; - }; - distributedBuilds = true; - settings = { - cores = 16; - auto-optimise-store = true; - trusted-users = [ "nixremote" ]; - system-features = featuresList; - experimental-features = [ "nix-command" "flakes" ]; - substituters = [ - "https://nix-gaming.cachix.org" - "https://nixpkgs-python.cachix.org" - "https://devenv.cachix.org" - "https://cuda-maintainers.cachix.org" - "https://ai.cachix.org" - ]; - trusted-public-keys = [ - "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" - "nixpkgs-python.cachix.org-1:hxjI7pFxTyuTHn2NkvWCrAUcNZLNS3ZAvfYNuYifcEU=" - "devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw=" - "cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E=" - "ai.cachix.org-1:N9dzRK+alWwoKXQlnn0H6aUx0lU/mspIoz8hMvGvbbc=" - ]; - }; - }; - - services = { - xserver = { - videoDrivers = [ "nvidia" ]; - enable = true; - displayManager.gdm.enable = true; - desktopManager = { gnome.enable = true; }; - layout = "us"; - libinput.enable = true; - }; - }; - - environment.gnome.excludePackages = (with pkgs; [ - gnome-photos - gnome-tour - gnome-text-editor - gnome-connections - # gnome-shell-extensions - baobab - ]) ++ (with pkgs.gnome; [ - # totem - gedit - gnome-music - epiphany - gnome-characters - yelp - gnome-font-viewer - cheese - ]); - - # Sets up QT to use adwaita themes. - qt = { - enable = true; - style = "adwaita"; - }; - - sound.enable = false; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - # lowLatency = { - # enable = true; - # quantum = 64; - # rate = 48000; - # }; - }; - hardware.pulseaudio.enable = false; - - security = { - polkit.enable = true; - rtkit.enable = true; - sudo = { - enable = true; - wheelNeedsPassword = false; - }; - pam.loginLimits = [{ - domain = "*"; - type = "soft"; - item = "nofile"; - value = "8192"; - }]; - }; - - nixpkgs = { - hostPlatform = lib.mkDefault cpuArch; - config = { - allowUnfree = true; - permittedInsecurePackages = [ ]; - }; - # localSystem = { - # gcc.arch = cpuArchitecture; - # gcc.tune = cpuArchitecture; - # system = "x86_64-linux"; - # }; - }; - - users = { - groups = { - piracy.gid = 985; - nixremote.gid = 555; - }; - users = { - nixremote = { - isNormalUser = true; - createHome = true; - group = "nixremote"; - home = "/var/nixremote/"; - openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN6HsajaTL+nTJtSIu00M5WJwgt/7fyU59gBr2R7tbnv root@server" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGrC7sVvDT0is2oq/H1Do99LPaQKvyGMAsrF6/fuf1aP root@miniserver" - ]; - }; - jawz = { - isNormalUser = true; - extraGroups = [ - "wheel" - "networkmanager" - "scanner" - "lp" - "piracy" - "kavita" - "video" - "docker" - "libvirt" - "rslsync" - ]; - initialPassword = "password"; - openssh = { - authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB5GaQM4N+yGAByibOFQOBVMV/6TjOfaGIP+NunMiK76 gpodeacerocdreyes@100CDREYES" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMkpeIV9G26W2/e9PsjBx3sNwPGoicJ807ExRGh4KjhW jawz@server" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGjnNIggZweJ+GJKKvFEPhpLcs+t64xXjBmeuERsLFLL jawz@miniserver" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINBEblxSDhWPEo33crSjooeUg4W02ruENxHLmmBqCuIo jawz@galaxy" - ]; - }; - - packages = (with pkgs; [ - - hunspell - hunspellDicts.it_IT - hunspellDicts.es_MX - hunspellDicts.es_ES - hunspellDicts.en_CA-large - - # Themes - adw-gtk3 - gnome.gnome-tweaks # tweaks for the gnome desktop environment - # gradience # theme customizer, allows you to modify adw-gtk3 themes - - # Fonts - (nerdfonts.override { - fonts = [ - "Agave" - "CascadiaCode" - "SourceCodePro" - "ComicShannsMono" - "OpenDyslexic" - "Ubuntu" - "FiraCode" - "Iosevka" - ]; - }) - symbola - (papirus-icon-theme.override { color = "adwaita"; }) - - godot_4 # game development - unstable.gdtoolkit # gdscript language server - blender # cgi animation and sculpting - - gimp # the coolest bestest art program to never exist - krita # art to your heart desire! - mypaint # not the best art program - mypaint-brushes # but it's got some - mypaint-brushes1 # nice damn brushes - # drawpile # arty party with friends!! - - pureref # create inspiration/reference boards - - wineWowPackages.stable - (lutris.override { - extraPkgs = pkgs: [ - winetricks - wine64Packages.stable - wineWowPackages.stable - ]; - }) - cartridges # games launcher - heroic # install epic games - gamemode # optimizes linux to have better gaming performance - # grapejuice # roblox manager - # minecraft # minecraft official launcher - protonup-qt # update proton-ge - ns-usbloader # load games into my switch - - # emulators - rpcs3 # ps3 emulator - pcsx2 # ps2 emulator - cemu # wii u emulator - dolphin-emu # wii emulator - citra-nightly # 3Ds emulator - snes9x-gtk # snes emulator - - libreoffice # office, but based - calibre # ugly af eBook library manager - # foliate # gtk eBook reader - # newsflash # feed reader, syncs with nextcloud - # wike # gtk wikipedia wow! - # denaro # manage your finances - furtherance # I packaged this one tehee track time utility - gnome.simple-scan # scanner - - blanket # background noise - pika-backup # backups - metadata-cleaner # remove any metadata and geolocation from files - # sequeler # friendly SQL client - # czkawka # duplicate finder - # celeste # sync tool for any cloud provider - - easyeffects # equalizer - celluloid # video player - # cozy # audiobooks player - # hakuneko # manga & comic GUI downloader - # gnome-podcasts # podcast player - handbrake # video converter, may be unnecessary - curtail # image compressor - pitivi # video editor - identity # compare images or videos - gnome-obfuscate # censor private information - mousai # poor man shazam - tagger # tag music files - obs-studio # screen recorder & streamer - shortwave # listen to world radio - nextcloud-client # self-hosted google-drive alternative - fragments # beautiful torrent client - - protonmail-bridge # bridge for protonmail - tor-browser-bundle-bin # dark web, so dark! - chromium # web browser with spyware included - telegram-desktop # furry chat - nicotine-plus # remember Ares? - vesktop - (pkgs.discord.override { - withOpenASAR = true; - # withVencord = true; - }) - # hugo # website engine - - unstable.yt-dlp # downloads videos from most video websites - gallery-dl # similar to yt-dlp but for most image gallery websites - - fd # modern find, faster searches - fzf # fuzzy finder! super cool and useful - gdu # disk-space utility checker, somewhat useful - du-dust # rusty du similar to gdu - (ripgrep.override { withPCRE2 = true; }) # modern grep - trash-cli # oop! did not meant to delete that - eza # like ls but with colors - gocryptfs # encrypted filesystem! shhh!!! - rmlint # probably my favourite app, amazing dupe finder that integrates well with BTRFS - imagemagick # photoshop what?? - - ffmpeg_5-full # not ffmpreg, the coolest video conversion tool! - torrenttools # create torrent files from the terminal! - vcsi # video thumbnails for torrents, can I replace it with ^? - - jawzTasks - (writeScriptBin "ffmpeg4discord" - (builtins.readFile ../scripts/ffmpeg4discord.py)) - (writeScriptBin "ffmpreg" (builtins.readFile ../scripts/ffmpreg.sh)) - (writeScriptBin "split-dir" - (builtins.readFile ../scripts/split-dir.sh)) - (writeScriptBin "run" (builtins.readFile ../scripts/run.sh)) - (writeScriptBin "pika-list" - (builtins.readFile ../scripts/pika-list.sh)) - - # required (optionally) by doom emacs, but still are rather useful - tree-sitter # code parsing based on symbols and shit, I do not get it - graphviz # graphs - tetex - languagetool # proofreader for English - # these two are for doom everywhere - xorg.xwininfo - xdotool - xclip - - tldr # man for retards - exercism # learn to code - - # SH - bats # testing system, required by Exercism - bashdb # autocomplete - shellcheck # linting - shfmt # a shell parser and formatter - - # NIX - expect # keep color when nom'ing - nix-output-monitor # autistic nix builds - nixfmt # linting - cachix # why spend time compiling? - - # PYTHON. - pipenv # python development workflow for humans - (python3.withPackages (ps: - with ps; [ - # poetry # dependency management made easy - flake8 # wraper for pyflakes, pycodestyle and mccabe - isort # sort Python imports - nose # testing and running python scripts - pyflakes # checks source code for errors - pytest # framework for writing tests - speedtest-cli # check internet speed from the comand line - editorconfig # follow rules of contributin - black # Python code formatter - pylint # bug and style checker for python - ])) - - # C# & Rust - # omnisharp-roslyn # c# linter and code formatter - - # HASKELL - ghc # compiler - haskell-language-server # lsp - - # DOCKER - dockfmt - - # JS - nodejs # not as bad as I thought - # jq # linting - - ]) ++ (with pkgs.python3Packages; [ - (buildPythonApplication rec { - pname = "download"; - version = "1.5"; - src = ../scripts/download/.; - doCheck = false; - buildInputs = [ setuptools ]; - propagatedBuildInputs = [ pyyaml types-pyyaml ]; - }) - (buildPythonApplication rec { - pname = "ffpb"; - version = "0.4.1"; - src = fetchPypi { - inherit pname version; - sha256 = "sha256-7eVqbLpMHS1sBw2vYS4cTtyVdnnknGtEI8190VlXflk="; - }; - doCheck = false; - buildInputs = [ setuptools ]; - propagatedBuildInputs = [ tqdm ]; - }) - - ]) ++ (with pkgs.nodePackages; [ - # Language servers - dockerfile-language-server-nodejs - yaml-language-server - bash-language-server - vscode-json-languageserver - pyright - - markdownlint-cli # Linter - prettier # Linter - pnpm # Package manager - - ]) ++ (with pkgs; - [ - # lm_sensors # for extension, displays cpu temp - libgda # for pano shell extension - ]) ++ (with pkgs.gnomeExtensions; [ - appindicator # applets for open applications - reading-strip # like putting a finger on every line I read - tactile # window manager - pano # clipboard manager - freon # hardware temperature monitor - # blur-my-shell # make the overview more visually appealing - # gamemode # I guess I'm a gamer now? - # burn-my-windows - # forge # window manager - # ]) ++ (with unstable.pkgs.gnomeExtensions; [ - - ]); - }; - }; - }; # <--- end of package list - - home-manager = { - useUserPackages = true; - useGlobalPkgs = true; - users.jawz = { config, pkgs, ... }: { - home.stateVersion = "${version}"; - - programs.bash = { - enable = true; - historyFile = "\${XDG_STATE_HOME}/bash/history"; - historyControl = [ "erasedups" "ignorespace" ]; - shellAliases = { - hh = "hstr"; - ls = "eza --icons --group-directories-first"; - edit = "emacsclient -t"; - comic = ''download -u jawz -i "$(cat $LC | fzf --multi --exact -i)"''; - gallery = - ''download -u jawz -i "$(cat $LW | fzf --multi --exact -i)"''; - cp = "cp -i"; - mv = "mv -i"; - mkcd = ''mkdir -pv "$1" && cd "$1" || exit''; - mkdir = "mkdir -p"; - rm = "trash"; - ".." = "cd .."; - "..." = "cd ../.."; - ".3" = "cd ../../.."; - ".4" = "cd ../../../.."; - ".5" = "cd ../../../../.."; - dl = "download -u jawz -i"; - e = "edit"; - c = "cat"; - b = "bat"; - f = "fzf --multi --exact -i"; - sc = "systemctl --user"; - jc = "journalctl --user -xefu"; - open-gallery = '' - cd /mnt/pool/scrapping/JawZ/gallery-dl && - xdg-open "$(fd . ./ Husbands -tdirectory -d 1 | fzf -i)"''; - unique-extensions = '' - fd -tf | rev | cut -d. -f1 | rev | - tr '[:upper:]' '[:lower:]' | sort | - uniq --count | sort -rn''; - }; - enableVteIntegration = true; - initExtra = '' - $HOME/.local/bin/pokemon-colorscripts -r --no-title - # Lists - list_root="${config.xdg.configHome}"/jawz/lists/jawz - export LW=$list_root/watch.txt - export LI=$list_root/instant.txt - export LC=$list_root/comic.txt - export command_timeout=30 - - if command -v fzf-share >/dev/null; then - source "$(fzf-share)/key-bindings.bash" - source "$(fzf-share)/completion.bash" - fi - - nixos-reload () { - NIXOSDIR=/home/jawz/Development/NixOS - nix-store --add-fixed sha256 $NIXOSDIR/scripts/PureRef-1.11.1_x64.Appimage - nixfmt $NIXOSDIR/workstation/*.nix - sudo unbuffer nixos-rebuild switch -I \ - nixos-config=$NIXOSDIR/workstation/configuration.nix \ - |& nom - } - ''; - }; - - xdg = { - enable = true; - userDirs = { - enable = true; - createDirectories = false; - desktop = "${config.home.homeDirectory}"; - documents = "${config.home.homeDirectory}/Documents"; - download = "${config.home.homeDirectory}/Downloads"; - music = "${config.home.homeDirectory}/Music"; - pictures = "${config.home.homeDirectory}/Pictures"; - templates = "${config.xdg.dataHome}/Templates"; - videos = "${config.home.homeDirectory}/Videos"; - }; - configFile = { - "wgetrc".source = ../dotfiles/wget/wgetrc; - "configstore/update-notifier-npm-check.json".source = - ../dotfiles/npm/update-notifier-npm-check.json; - "npm/npmrc".source = ../dotfiles/npm/npmrc; - "gallery-dl/config.json".source = ../dotfiles/gallery-dl/config.json; - "htop/htoprc".source = ../dotfiles/htop/htoprc; - "python/pythonrc".source = ../dotfiles/pythonrc; - }; - }; - - programs = { - emacs.enable = true; - helix = { enable = true; }; - hstr.enable = true; - direnv = { - enable = true; - enableBashIntegration = true; - nix-direnv.enable = true; - }; - bat = { - enable = true; - config = { - pager = "less -FR"; - theme = "base16"; - }; - extraPackages = with pkgs.bat-extras; [ - batman # man pages - batpipe # piping - batgrep # ripgrep - batdiff # this is getting crazy! - batwatch # probably my next best friend - prettybat # trans your sourcecode! - ]; - }; - git = { - enable = true; - userName = "${myName}"; - userEmail = "${myEmail}"; - }; - htop = { - enable = true; - package = pkgs.htop-vim; - }; - }; - - services = { - lorri.enable = true; - emacs = { - enable = true; - defaultEditor = true; - package = with pkgs; - ((emacsPackagesFor emacs-gtk).emacsWithPackages - (epkgs: [ epkgs.vterm ])); - startWithUserSession = "graphical"; - }; - }; - - }; - }; - - environment = { - etc = { - "wireplumber/bluetooth.lua.d/51-bluez-config.lua".text = '' - bluez_monitor.properties = { - ["bluez5.enable-sbc-xq"] = true, - ["bluez5.enable-msbc"] = true, - ["bluez5.enable-hw-volume"] = true, - ["bluez5.headset-roles"] = "[ hsp_hs hsp_ag hfp_hf hfp_ag ]" - } - ''; - }; - systemPackages = with pkgs; [ wget gwe ]; - variables = rec { - # PATH - XDG_CACHE_HOME = "\${HOME}/.cache"; - XDG_CONFIG_HOME = "\${HOME}/.config"; - XDG_BIN_HOME = "\${HOME}/.local/bin"; - XDG_DATA_HOME = "\${HOME}/.local/share"; - XDG_STATE_HOME = "\${HOME}/.local/state"; - - # DEV PATH - CABAL_DIR = "${XDG_CACHE_HOME}/cabal"; - CARGO_HOME = "${XDG_DATA_HOME}/cargo"; - GEM_HOME = "${XDG_DATA_HOME}/ruby/gems"; - GEM_PATH = "${XDG_DATA_HOME}/ruby/gems"; - GEM_SPEC_CACHE = "${XDG_DATA_HOME}/ruby/specs"; - GOPATH = "${XDG_DATA_HOME}/go"; - NPM_CONFIG_USERCONFIG = "${XDG_CONFIG_HOME}/npm/npmrc"; - PNPM_HOME = "${XDG_DATA_HOME}/pnpm"; - PSQL_HISTORY = "${XDG_DATA_HOME}/psql_history"; - REDISCLI_HISTFILE = "${XDG_DATA_HOME}/redis/rediscli_history"; - WINEPREFIX = "${XDG_DATA_HOME}/wine"; - PYTHONSTARTUP = "${XDG_CONFIG_HOME}/python/pythonrc"; - STACK_ROOT = "${XDG_DATA_HOME}/stack"; - - # OPTIONS - HISTFILE = "${XDG_STATE_HOME}/bash/history"; - LESSHISTFILE = "-"; - GHCUP_USE_XDG_DIRS = "true"; - RIPGREP_CONFIG_PATH = "${XDG_CONFIG_HOME}/ripgrep/ripgreprc"; - ELECTRUMDIR = "${XDG_DATA_HOME}/electrum"; - VISUAL = "emacsclient -ca emacs"; - WGETRC = "${XDG_CONFIG_HOME}/wgetrc"; - XCOMPOSECACHE = "${XDG_CACHE_HOME}/X11/xcompose"; - "_JAVA_OPTIONS" = "-Djava.util.prefs.userRoot=${XDG_CONFIG_HOME}/java"; - DOCKER_CONFIG = "${XDG_CONFIG_HOME}/docker"; - - # NVIDIA - CUDA_CACHE_PATH = "${XDG_CACHE_HOME}/nv"; - - # Themes - # WEBKIT_DISABLE_COMPOSITING_MODE = "1"; - CALIBRE_USE_SYSTEM_THEME = "1"; - - PATH = [ - "\${HOME}/.local/bin" - "\${XDG_CONFIG_HOME}/emacs/bin" - "\${XDG_DATA_HOME}/npm/bin" - "\${XDG_DATA_HOME}/pnpm" - ]; - }; - }; - - programs = { - firefox = { - enable = true; - languagePacks = [ "en-CA" "es-MX" "it" ]; - }; - starship.enable = true; - tmux.enable = true; - fzf.fuzzyCompletion = true; - neovim = { - enable = true; - vimAlias = true; - }; - gnupg.agent = { - enable = true; - enableSSHSupport = true; - }; - geary = { enable = true; }; - steam = { - enable = true; - remotePlay.openFirewall = true; - dedicatedServer.openFirewall = true; - }; - kdeconnect = { - enable = true; - package = pkgs.gnomeExtensions.gsconnect; - }; - }; - - services = { - printing = { - enable = true; - drivers = [ pkgs.hplip pkgs.hplipWithPlugin ]; - }; - avahi = { - enable = true; - nssmdns = true; - }; - psd.enable = true; - smartd.enable = true; - fstrim.enable = true; - btrfs.autoScrub = { - enable = true; - fileSystems = [ "/" ]; - }; - openssh = { - enable = true; - openFirewall = true; - startWhenNeeded = true; - settings = { - PasswordAuthentication = false; - PermitRootLogin = "prohibit-password"; - KbdInteractiveAuthentication = false; - }; - }; - resilio = { - deviceName = "chichis"; - enable = true; - useUpnp = true; - enableWebUI = true; - httpPass = "528491"; - httpLogin = "chichis"; - httpListenPort = 9876; - httpListenAddr = "0.0.0.0"; - directoryRoot = "/resilio"; - }; - }; - - systemd = { - services = { }; - timers = { }; - user = { - services = { - tasks = { - restartIfChanged = true; - description = - "Run a tasks script which keeps a lot of things organized"; - wantedBy = [ "default.target" ]; - path = [ pkgs.bash pkgs.nix jawzTasks ]; - serviceConfig = { - Restart = "on-failure"; - RestartSec = 30; - ExecStart = "${jawzTasks}/bin/tasks"; - }; - }; - }; - timers = { - tasks = { - enable = true; - description = - "Run a tasks script which keeps a lot of things organized"; - wantedBy = [ "timers.target" ]; - timerConfig = { OnCalendar = "*:0/10"; }; - }; - }; - }; - }; - - fonts.fontconfig.enable = true; - - powerManagement.cpuFreqGovernor = lib.mkDefault "performance"; - hardware = { - cpu.amd.updateMicrocode = - lib.mkDefault config.hardware.enableRedistributableFirmware; - bluetooth = { - enable = true; - settings = { - General = { - Enable = "Source,Sink,Media,Socket"; - Experimental = true; - }; - }; - }; - nvidia = { - modesetting.enable = true; - powerManagement.enable = true; - }; - sane = { - enable = true; - extraBackends = [ pkgs.hplip pkgs.hplipWithPlugin ]; - }; - opentabletdriver = { - enable = true; - daemon.enable = false; - }; - opengl = { - enable = true; - driSupport = true; - driSupport32Bit = true; - extraPackages = with pkgs; [ - nvidia-vaapi-driver - vaapiVdpau - libvdpau-va-gl - ]; - }; - }; - - # programs.virt-manager.enable = true; - # virtualisation = { - # libvirtd.enable = true; - # }; - -} diff --git a/gnome.nix b/gnome.nix index 34ab39b..a2d4dff 100644 --- a/gnome.nix +++ b/gnome.nix @@ -48,18 +48,5 @@ # forge # window manager ]); - nixpkgs.overlays = [ - (final: prev: { - gnome = prev.gnome.overrideScope' (gnomeFinal: gnomePrev: { - mutter = gnomePrev.mutter.overrideAttrs (old: { - src = pkgs.fetchgit { - url = "https://gitlab.gnome.org/vanvugt/mutter.git"; - # GNOME 45: triple-buffering-v4-45 - rev = "0b896518b2028d9c4d6ea44806d093fd33793689"; - sha256 = "sha256-mzNy5GPlB2qkI2KEAErJQzO//uo8yO0kPQUwvGDwR4w="; - }; - }); - }); - }) - ]; + nixpkgs.overlays = [ (import ./overlays/gnome.nix) ]; } diff --git a/hosts/workstation/configuration.nix b/hosts/workstation/configuration.nix index 29a7416..6e20cc5 100644 --- a/hosts/workstation/configuration.nix +++ b/hosts/workstation/configuration.nix @@ -66,6 +66,7 @@ in { }; }; + nixpkgs.overlays = [ (import ../../overlays/blanket.nix) ]; users = { groups.nixremote.gid = 555; users = { diff --git a/overlays/blanket.nix b/overlays/blanket.nix new file mode 100644 index 0000000..c4b38f8 --- /dev/null +++ b/overlays/blanket.nix @@ -0,0 +1,11 @@ +final: prev: { + blanket = prev.blanket.overrideAttrs (old: rec { + version = "0.7.0"; + src = prev.fetchFromGitHub { + owner = "rafaelmardojai"; + repo = "blanket"; + rev = "refs/tags/${version}"; + sha256 = "sha256-mY7c5i0me7mMbD8c6eGJeaZpR8XI5QVL4n3M+j15Z1c="; + }; + }); +} diff --git a/overlays.nix b/overlays/gnome.nix similarity index 68% rename from overlays.nix rename to overlays/gnome.nix index 8cd0460..99d99f8 100644 --- a/overlays.nix +++ b/overlays/gnome.nix @@ -1,6 +1,6 @@ final: prev: -let overlays = (import { }).config.nixpkgs.overlays; -in { + +{ gnome = prev.gnome.overrideScope' (gnomeFinal: gnomePrev: { mutter = gnomePrev.mutter.overrideAttrs (old: { src = prev.pkgs.fetchgit { @@ -11,8 +11,4 @@ in { }; }); }); - blanket = prev.sl.overrideAttrs (old: { - version = "0.7.0"; - src = prev.fetchFromGitHub { hash = ""; }; - }); }