Compare commits

..

1 commit

Author SHA1 Message Date
Chris (wolcen) Thompson
3161bd9b79 Remove KDE, add Hyprland
...attempt 1
2025-10-02 10:32:57 -04:00
7 changed files with 116 additions and 186 deletions

View file

@ -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

22
flake.lock generated
View file

@ -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": {

View file

@ -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";

View file

@ -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.
@ -481,10 +468,6 @@ in
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";

View file

@ -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";

View file

@ -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

View file

@ -1 +0,0 @@
{{ .Env.SHHH }}