diff --git a/.forgejo/workflows/test.yml b/.forgejo/workflows/test.yml deleted file mode 100644 index 32a5013..0000000 --- a/.forgejo/workflows/test.yml +++ /dev/null @@ -1,49 +0,0 @@ -on: - push: - paths: - - '**/test.yml' - workflow_dispatch: - inputs: - boolean: - description: 'Boolean' - required: true - type: boolean - -jobs: - build: - runs-on: docker - if: inputs.boolean || vars.RUN_DEFAULT == '1' - container: - image: git.agaric.com/agaric/deploycontainer:0.0.5 - env: - COMPOSER_IGNORE_PLATFORM_REQS: 1 - COMPOSER_ARGS: "install --no-dev --no-progress --no-interaction --no-scripts --optimize-autoloader" - SHHH: "${{ secrets.SHHH }}" - steps: - - name: checkout - uses: actions/checkout@v3 - - name: Run Gomplate Action - uses: https://github.com/ammarlakis/action-gomplate@v1 - with: - input_file: 'testing.template' - output_file: 'testing.md' - - name: inspect environment - shell: "bash --noprofile --norc -exo pipefail {0}" - run: | - env - jq . - <<'EOF' - ${{ toJSON(github) }} - EOF - jq . - <<'EOF' - ${{ toJSON(forge) }} - EOF - jq . - <<'EOF' - ${{ toJSON(secrets) }} - EOF - jq . - <<'EOF' - ${{ toJSON(inputs) }} - EOF - jq . - <<'EOF' - ${{ toJSON(vars) }} - EOF - cat testing.md diff --git a/flake.lock b/flake.lock index a2f8241..cf47d56 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1772060133, - "narHash": "sha256-VuyRptb8v1lVGMlLp4/1vRX3Efwec0CN0S6mKmDPzLg=", + "lastModified": 1759337100, + "narHash": "sha256-CcT3QvZ74NGfM+lSOILcCEeU+SnqXRvl1XCRHenZ0Us=", "owner": "nix-community", "repo": "home-manager", - "rev": "ce9b6e52500a0ea0ec48f0bbf6d7a3e431d9dfa4", + "rev": "004753ae6b04c4b18aa07192c1106800aaacf6c3", "type": "github" }, "original": { @@ -22,14 +22,18 @@ }, "nixpkgs": { "locked": { - "lastModified": 0, - "narHash": "sha256-kkWfxSz0ACR0FZiMbwOfFY+bCBpvfeRvymRfrzUr6rU=", - "path": "/home/wolcen/Source/nixpkgs", - "type": "path" + "lastModified": 1759036355, + "narHash": "sha256-0m27AKv6ka+q270dw48KflE0LwQYrO7Fm4/2//KCVWg=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "e9f00bd893984bc8ce46c895c3bf7cac95331127", + "type": "github" }, "original": { - "path": "/home/wolcen/Source/nixpkgs", - "type": "path" + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" } }, "root": { diff --git a/flake.nix b/flake.nix index b81d73b..9d6e815 100755 --- a/flake.nix +++ b/flake.nix @@ -2,7 +2,7 @@ description = "Nixos config flake"; inputs = { - nixpkgs.url = "path:/home/wolcen/Source/nixpkgs"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; home-manager = { url = "github:nix-community/home-manager"; diff --git a/hosts/default/configuration.nix b/hosts/default/configuration.nix index 3d6d69a..e162e53 100644 --- a/hosts/default/configuration.nix +++ b/hosts/default/configuration.nix @@ -68,7 +68,7 @@ in boot.kernelModules = [ "kvm-amd" "nct6775" ]; # Fix problems with hanging on RX6700 (disables PSR - Panel Self Refresh) - boot.kernelParams = [ "amdgpu.dcdebugmask=0x10" "pcie_port_pm=off" "pcie_aspm.policy=performance" ]; + boot.kernelParams = [ "amdgpu.dcdebugmask=0x10" ]; boot.extraModulePackages = [ (amdgpu-kernel-module.overrideAttrs (_: { @@ -135,17 +135,21 @@ in # services.xserver.enable = true; # Enable the KDE Plasma Desktop Environment. - services.displayManager.sddm.enable = true; - services.displayManager.sddm.wayland.enable = true; - services.desktopManager.plasma6.enable = true; + #services.displayManager.sddm.enable = true; + #services.displayManager.sddm.wayland.enable = true; + #services.desktopManager.plasma6.enable = true; + programs.hyprland = { + enable = true; + xwayland.enable = true; + withUWSM = true; - # Enable the Cosmic Desktop Environment: - # Enable the login manager - #services.displayManager.cosmic-greeter.enable = true; - # Enable the COSMIC DE itself - #services.desktopManager.cosmic.enable = true; - # Enable XWayland support in COSMIC - # services.desktopManager.cosmic.xwayland.enable = true; + }; + # Optional, hint electron apps to use wayland: + environment.sessionVariables.NIXOS_OZONE_WL = "1"; + xdg.portal = { + enable = true; + extraPortals = with pkgs; [ xdg-desktop-portal-hyprland ]; + }; # Configure keymap in X11 (presumably, XWayland uses something different?) #services.xserver.xkb = { # layout = "us"; @@ -201,8 +205,6 @@ in programs.kdeconnect.enable = true; # Install firefox. programs.firefox.enable = true; - # Attempt to get the kde wallet launched - #security.pam.services.login.kwallet.enable = true; # Required for DDEV to add hosts files, if your DNS will not resolve addresses to localhost. # Some firewall DNS resolvers will NOT allow an externally resolved domain name to resolve to a reserved IP (e.g. localhost). @@ -245,99 +247,93 @@ in # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; [ - # conda # alternate python environment management - # direnv # autoload .envrc files - attempting to replace w/mise - # kdePackages.kwallet # added in order to use Signal, since it tied itself to my first desktop - # rpi-imager # rasbperry pi os burner util (1.9.6 failed build) - amdgpu_top # top-like monitor for AMD GPUs - ansible # configuration management system/automation tool - asciinema # terminal recorder/playback tool - basalt-monado # tracking for VR - bat # a better cat command - binutils # gnu bin utils - brave # privacy oriented browser - btop # cli sys monitor - corectrl # provide hardware clock controls for AMD CPU + GPU - cruft # python-based template processor - curl # url fetcher - diffr # another diff hilighting tool - distrobox # instant alternate OS availability - dmidecode # system settings provider (e.g. bios) + hyprlock # Hyprland's GPU-accelerated screen locking utility. + hypridle # Hyprland's idle daemon. + hyprpaper # Hyprland's wallpaper utility. + hyprsunset # Application to enable a blue-light filter on Hyprland. + hyprpicker # Wayland color picker that does not suck. + hyprpolkitagent # Polkit authentication agent written in QT/QML. + kitty # default terminal for hyprland dnsmasq # temporarily allowed for connection sharing - docker-buildx # enhanced build utilities for docker - doggo # a better dig cmd...only written with go - dos2unix # convert file line endings - duckdb # wanted mostly as cli for SQL on csv files - dust # cli hdd space usage visualization - eza # a better ls - file # show file types - freerdp # connect to KDE remotely w/RDP instead (KDE 6.1 servers)...seems it's still an xwindows client that's most tested. 🤮 - fresh-editor # cli editor like...notepad++ or someething? seems nice. - gcc # GNU C compiler collection + ansible # automation/software-defined-configuration tool + binutils # gnu bin utils + # conda # python environment management gettext # gnu lib for text manipulation (added for envsubst) - gimp # GIMP image manipulation proggy - git-open # open the url of the project in web - gnumake # build automation tool - go # golang - general purpose programming - gopls # golang language server - heroic # game launcher (GOG/Epic/Prime) + uv # alternative for python env management... + lazydocker # docker[/compose] tui + sqlite-interactive # sqlite cli + duckdb # wanted mostly as cli for SQL on csv files + neovim # next gen vim w/lua + wget # url fetcher/spider + curl # url fetcher + tmux # terminal multiplexer + whois # net ip/dns lookup + meld # file diff'r + wl-clipboard-rs # rust implementation of wayland clipboard cli + dogdns # a better dig cmd + bat # a better cat command + nix-search-cli # search the nix repo + lsof # show open file handles + eza # a better ls + lm_sensors # hardware monitoring (e.g. temps) + btop # cli sys monitor + amdgpu_top # top-like monitor for AMD GPUs + direnv # autoload .envrc files + zoxide # directory navigator (z) + nextcloud-client # next cloud UI + file # show file types + tldr # cli command summary + stress # system workload generator + dmidecode # system settings provider (e.g. bios) + jq # json query + niv # dependency cli for nix-shell + openrgb-with-all-plugins # colors hardware control + just # command runner like make + #ansible # configuration management system/automation tool + kdePackages.kcachegrind # analyze xdebug output + kdePackages.filelight # disk space visualizer + libreoffice-qt # libreoffice - qt is best for KDE hunspell # spell checking hunspellDicts.en_US # spell check dictionary - jq # json query - just # command runner like make - kdePackages.filelight # disk space visualizer - kdePackages.kcachegrind # analyze xdebug output - kdePackages.kwalletmanager # added in order to use Signal, since it tied itself to my first desktop - lazydocker # docker[/compose] tui - libreoffice-qt # libreoffice - qt is best for KDE - lm_sensors # hardware monitoring (e.g. temps) - lsof # show open file handles - lutris # game launcher (EA/Humble/Ubi++) magic-wormhole # transfer files with ease - meld # file diff'r - mise # mise-en-place the (presumably French) front-end to your dev env https://mise.jdx.dev/ - mpv # movie player - ncdu # nncurses tool for examining disk usage - neovim # next gen vim w/lua - nextcloud-client # next cloud UI (also just fialed to build. Gah... damn KDE lib issues - niv # dependency cli for nix-shell - nix-search-cli # search the nix repo - nmap # network mapping/scanning tool - noisetorch # noise/background filter for mic - obs-studio # open broadcast studio - opencode # ai coding tool - opencomposite # compatibility layer for VR - openh264 # rather, this is the client library - openrgb-with-all-plugins # colors hardware control - pciutils # provide lspci, etc. - pigz # muti-treaded replacement for gzip - powerline # prompt utility - protonup-qt # proton version installer - psmisc # process tools like killall - rustdesk-flutter # the rustdesk remote desktop client (flutter = new/current version) screen # terminal multiplexer...from GNU - screenkey # broadcast key presses - sqlite-interactive # sqlite cli - stress # system workload generator - superfile # cli file manager - tldr # cli command summary - tmux # terminal multiplexer - unzip # old standard zip handler - usbutils # provide lsusb, etc. - uv # alternative for python env management... - vorta # borg backup UI - wget # url fetcher/spider - whois # net ip/dns lookup - wl-clipboard-rs # rust implementation of wayland clipboard cli - xh # friendly tool for sending HTTP requests. - zed-editor # the most hopeful replacement for vscode...if I never learn nvim + gnumake # build automation tool + git-open # open the url of the project in web + diffr # another diff hilighting tool + brave # privacy oriented browser zig # the zig language - zoxide # directory navigator (z) + powerline # prompt utility + distrobox # instant alternate OS availability + pigz # muti-treaded replacement for gzip + unzip # old standard zip handler + rpi-imager # rasbperry pi os burner util + # screenkey # broadcast key presses + superfile # cli file manager + mpv # movie player + #obs-studio # open broadcast studio + protonup-qt # proton version installer + heroic # game launcher (GOG/Epic/Prime) + lutris # game launcher (EA/Humble/Ubi++) + cruft # python-based template processor + nmap # network mapping/scanning tool + basalt-monado # tracking for VR + opencomposite # compatibility layer for VR + # why did these two disappear??? + usbutils # provide lsusb, etc. + pciutils # provide lspci, etc. + rustdesk-flutter # the rustdesk remote desktop client (flutter = new/current version) + vorta # borg backup UI + ncdu # nncurses tool for examining disk usage + psmisc # process tools like killall + corectrl # provide hardware clock controls for AMDGPU + gimp # GIMP image manipulation proggy + zed-editor # the most hopeful replacement for vscode...if I never learn nvim + noisetorch # noise/background filter for mic ]; programs.zsh.enable = true; programs.git = { enable = true; - lfs.enable = false; + lfs.enable = true; }; # Orchestrator for FOSS VR stack #programs.envision = { @@ -402,11 +398,11 @@ in #services.rustdesk-server.openFirewall = false; # RX 6700 XT setup hardware.graphics.extraPackages = [ - #pkgs.amdvlk - replaced by RADV (enabled by default) + pkgs.amdvlk pkgs.libcap pkgs.libva pkgs.mesa - #pkgs.rocmPackages.clr.icd ...no idea if this is causing the rocm-related build fail. + pkgs.rocmPackages.clr.icd #pkgs.pcre2 #pkgs.libselinux #pkgs.rocmPackages.rocblas @@ -416,29 +412,20 @@ in #pkgs.rocmPackages.rocm-device-libs #pkgs.rocmPackages.rpp ]; - hardware.graphics.enable = true; - hardware.graphics.enable32Bit = true; # To enable Vulkan support for 32-bit applications, also add: - #hardware.graphics.extraPackages32 = [ - # pkgs.driversi686Linux.amdvlk - replaced by RADV..hopefully also 32-bit enabled by default. - #]; + hardware.graphics.extraPackages32 = [ + pkgs.driversi686Linux.amdvlk + ]; hardware.amdgpu.opencl.enable = true; services.ollama = { enable = true; - #acceleration = "rocm"; # hipblaslt not compiling at present - build reports this no longer takes effect - package = pkgs.ollama-vulkan; + acceleration = "rocm"; environmentVariables = { HCC_AMDGPU_TARGET = "gfx1031"; # used to be necessary, but doesn't seem to anymore OLLAMA_LOAD_TIMEOUT = "2m"; # Reduce load timeout (from 5 min)...if it's that big, forget it. - OLLAMA_CONTEXT_LENGTH = "65536"; - OLLAMA_KEEP_ALIVE = "10m"; - OLLAMA_MAX_LOADED_MODELS = "1"; - OLLAMA_KV_CACHE_TYPE = "Q4_K_0"; - OLLAMA_DEBUG = "1"; - OLLAMA_FLASH_ATTENTION = "true"; # OK, so origins is more about setting up CORS than firewalling things. (and requires e.g. http[s]://IP|Host/* etc) #OLLAMA_ORIGINS = "10.40.4.2"; # Only accept connections from locally. @@ -480,11 +467,7 @@ in script.text = '' install -d -m 755 /home/wolcen/.open-webui -o root -g root ''; - }; - - # Enable flatpak (used for Freetube) - services.flatpak.enable = true; - + }; virtualisation = { # Add docker! docker.enable = true; @@ -525,7 +508,6 @@ in }; # Force radv environment.variables.AMD_VULKAN_ICD = "RADV"; - environment.variables.QT_QPA_PLATFORM = "wayland"; # Or #environment.variables.VK_ICD_FILENAMES = # "/run/opengl-driver/share/vulkan/icd.d/radeon_icd.x86_64.json"; diff --git a/hosts/default/home.nix b/hosts/default/home.nix index 6c4a0b2..0daa07c 100644 --- a/hosts/default/home.nix +++ b/hosts/default/home.nix @@ -5,6 +5,7 @@ # manage. home.username = "wolcen"; home.homeDirectory = "/home/wolcen"; + # This value determines the Home Manager release that your configuration is # compatible with. This helps avoid breakage when a new Home Manager release # introduces backwards incompatible changes. @@ -69,15 +70,10 @@ # /etc/profiles/per-user/wolcen/etc/profile.d/hm-session-vars.sh # home.sessionVariables = { - # EDITOR = "nvim"; - # QT_QPA_PLATFORM = "wayland"; # Attempt to get KDE keyring to launch + # EDITOR = "emacs"; }; - #security.pam.services.login.kwallet.enable = true; # Also for attempt to get KDE keyring to launch # For Monado: - xdg.configFile."openxr/1/active_runtime.json" = { - source = "${pkgs.monado}/share/openxr/1/openxr_monado.json"; - force = true; - }; + xdg.configFile."openxr/1/active_runtime.json".source = "${pkgs.monado}/share/openxr/1/openxr_monado.json"; # For WiVRn: #xdg.configFile."openxr/1/active_runtime.json".source = "${pkgs.wivrn}/share/openxr/1/openxr_wivrn.json"; diff --git a/hosts/default/main-user.nix b/hosts/default/main-user.nix index 34af05c..2c4ad3f 100644 --- a/hosts/default/main-user.nix +++ b/hosts/default/main-user.nix @@ -27,8 +27,7 @@ in extraGroups = [ "wheel" "networkmanager" "docker" ]; packages = with pkgs; [ #kdePackages.kate # ... why did I add this? - bitwarden-desktop # password web service ui - mkcert # create locally trusted certificates + mkcert prismlauncher # minecraft launcher/manager thunderbird # email client keepassxc # passwords! @@ -38,7 +37,6 @@ in signal-desktop-bin # messaging ddev # local docker dev awesomeness vscodium # vs code editor, but free - vintagestory # gam kids like...will try #yubikey-manager-qt # yubi key mgmgt - more needed yubioath-flutter # replacement manager for deprecated manager-qt #pavucontrol # pulse audio vol control diff --git a/testing.template b/testing.template deleted file mode 100644 index 192472f..0000000 --- a/testing.template +++ /dev/null @@ -1 +0,0 @@ -{{ .Env.SHHH }}