dotfiles

Check-in [20cca76828]
Login

Check-in [20cca76828]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:desktop: so many updates.
Timelines: family | ancestors | trunk
Files: files | file ages | folders
SHA1: 20cca76828bf2f4182331c11eeffbc2a7f1bca8a
User & Date: necrophcodr 2025-07-30 11:25:19.977
Context
2025-07-30
11:25
desktop: so many updates. Leaf check-in: 20cca76828 user: necrophcodr tags: trunk
2025-07-15
10:27
fix: update flake. check-in: 3b6b57e519 user: necrophcodr tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to hosts/necrophcodr-desktop/configuration.nix.
21
22
23
24
25
26
27





28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
  services.avahi = {
    nssmdns4 = true;
    enable = true;
    ipv6 = false;
  };

  networking.hostName = "necrophcodr-desktop"; # Define your hostname.





  # networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant.
  # Set your time zone.
  time.timeZone = "Europe/Copenhagen";

  networking.interfaces.eno1.useDHCP = true;

  networking.networkmanager.enable = true;

  services.samba.enable = true;
  services.colord.enable = true;

  # Select internationalisation properties.
  i18n.defaultLocale = "da_DK.UTF-8";
  
  console = {
  #   font = "Lat2-Terminus16";







>
>
>
>
>








|







21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
  services.avahi = {
    nssmdns4 = true;
    enable = true;
    ipv6 = false;
  };

  networking.hostName = "necrophcodr-desktop"; # Define your hostname.
  networking.hosts = {
    "127.0.0.1" = [
      "smb.loc"
    ];
  };
  # networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant.
  # Set your time zone.
  time.timeZone = "Europe/Copenhagen";

  networking.interfaces.eno1.useDHCP = true;

  networking.networkmanager.enable = true;

  #services.samba.enable = true;
  services.colord.enable = true;

  # Select internationalisation properties.
  i18n.defaultLocale = "da_DK.UTF-8";
  
  console = {
  #   font = "Lat2-Terminus16";
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103



104
105
106
107
108
109
110
    });
  '';

  # Enable the X11 windowing system.
  services.xserver.enable = true;
  services.xserver.videoDrivers = [ "amdgpu" "modesetting" ];
  services.desktopManager.plasma6.enable = true;
  services.displayManager.defaultSession = "plasmax11";
  services.displayManager.sddm.enable = true;
  services.gnome.gnome-browser-connector.enable = true;

  services.fwupd.enable = true;

  services.printing = {
    enable = true;
    drivers = with pkgs; [ hplip ];
  };
  hardware.pulseaudio.enable = false;
  hardware.bluetooth.enable = true;
  hardware.openrazer = {
    enable = true;
    users = [ "steffen" ];
  };
  
  programs.dconf.enable = true;




  programs.corectrl = {
    enable = true;
    gpuOverclock.enable = true;
  };

  services.gvfs.enable = true;







<

|







|


|




>
>
>







84
85
86
87
88
89
90

91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
    });
  '';

  # Enable the X11 windowing system.
  services.xserver.enable = true;
  services.xserver.videoDrivers = [ "amdgpu" "modesetting" ];
  services.desktopManager.plasma6.enable = true;

  services.displayManager.sddm.enable = true;
  services.gnome.gnome-browser-connector.enable = false;

  services.fwupd.enable = true;

  services.printing = {
    enable = true;
    drivers = with pkgs; [ hplip ];
  };
  services.pulseaudio.enable = false;
  hardware.bluetooth.enable = true;
  hardware.openrazer = {
    enable = false; # Broken @ https://github.com/NixOS/nixpkgs/issues/421344
    users = [ "steffen" ];
  };
  
  programs.dconf.enable = true;
  programs.kde-pim.enable = false;
  programs.foot.enable = true;
  services.orca.enable = false;

  programs.corectrl = {
    enable = true;
    gpuOverclock.enable = true;
  };

  services.gvfs.enable = true;
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144

145
146
147
148
149
150
151
      wantedBy = [ "multi-user.target" ];
    };
  };

  # Define a user account. Don't forget to set a password with ‘passwd’.
  users.users.steffen = {
    isNormalUser = true;
    shell = pkgs.zsh;
    extraGroups = [ 
      "wheel" 
      "docker"
      "kvm"
      "libvirtd"
      "podman"
      "plugdev"
      "input"
      "cdrom"
    ];
  };

  programs.zsh.enable = true;


  programs.geary.enable = lib.mkForce false;
  programs.file-roller.enable = lib.mkForce true;
  programs.gnome-terminal.enable = lib.mkForce false;
  programs.evince.enable = lib.mkForce false;

  services.udev.packages = [







|
|











|
>







131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
      wantedBy = [ "multi-user.target" ];
    };
  };

  # Define a user account. Don't forget to set a password with ‘passwd’.
  users.users.steffen = {
    isNormalUser = true;
    shell = pkgs.fish;
    extraGroups = [
      "wheel" 
      "docker"
      "kvm"
      "libvirtd"
      "podman"
      "plugdev"
      "input"
      "cdrom"
    ];
  };

  programs.zsh.enable = false;
  programs.fish.enable = true;

  programs.geary.enable = lib.mkForce false;
  programs.file-roller.enable = lib.mkForce true;
  programs.gnome-terminal.enable = lib.mkForce false;
  programs.evince.enable = lib.mkForce false;

  services.udev.packages = [
225
226
227
228
229
230
231

232
233
234
235
236
237
238
239
240
241
242
243
244

245
246
247
248
249
250
251
    terminus_font_ttf
    vollkorn
  ];
  fonts.fontDir.enable = true;

  # Enable the OpenSSH daemon.
  services.openssh.enable = true;


  virtualisation.docker.enable = true;
  virtualisation.podman = {
    enable = true;
    defaultNetwork.settings.dns_enabled = true;
  };
  virtualisation.waydroid.enable = false;

  # FIXME: broken
  #virtualisation.virtualbox.host.enable = true;
  #virtualisation.virtualbox.host.enableExtensionPack = false;

  virtualisation.libvirtd.enable = true;

  programs.virt-manager.enable = true;

  programs.steam = {
    enable = true;
    remotePlay.openFirewall = true;
  };
  programs.cdemu.enable = true;







>


<
<
<
<







>







233
234
235
236
237
238
239
240
241
242




243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
    terminus_font_ttf
    vollkorn
  ];
  fonts.fontDir.enable = true;

  # Enable the OpenSSH daemon.
  services.openssh.enable = true;
  services.osquery.enable = true;

  virtualisation.docker.enable = true;




  virtualisation.waydroid.enable = false;

  # FIXME: broken
  #virtualisation.virtualbox.host.enable = true;
  #virtualisation.virtualbox.host.enableExtensionPack = false;

  virtualisation.libvirtd.enable = true;
  virtualisation.libvirtd.qemu.ovmf.enable = true;
  programs.virt-manager.enable = true;

  programs.steam = {
    enable = true;
    remotePlay.openFirewall = true;
  };
  programs.cdemu.enable = true;
Changes to hosts/necrophcodr-desktop/hardware-configuration.nix.
94
95
96
97
98
99
100



101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
    [ { device = "/dev/disk/by-label/swap"; }
    ];

  powerManagement.cpuFreqGovernor = lib.mkDefault "schedutil";

  hardware.cpu.amd.updateMicrocode = true;




  hardware.graphics = {
    enable = true;
    enable32Bit = true;
    # TODO: what are these called now?
    # driSupport = true;
    # driSupport32Bit = true;
    extraPackages = with pkgs; [
      vaapiVdpau
      libvdpau-va-gl
      amdvlk
      rocmPackages_5.clr
    ];
    extraPackages32 = with pkgs.pkgsi686Linux; [
      pkgs.driversi686Linux.amdvlk
      pkgs.driversi686Linux.mesa
      libvdpau-va-gl
      amdvlk
    ];
  };

  environment.variables.AMD_VULKAN_ICD = lib.mkDefault "RADV";
  environment.variables.VDPAU_DRIVER = "va_gl";

  services.udev.extraRules = ''
    ACTION=="add|change", KERNEL=="sd[a-z]", TEST!="queue/rotational", ATTR{queue/scheduler}="none"
    ACTION=="add|change", KERNEL=="sd[a-z"], ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="none"
    ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="mq-deadline"
  '';

  systemd.tmpfiles.rules = let 
      rocmEnv = pkgs.symlinkJoin {
        name = "rocmEnv";
        paths = with pkgs.rocmPackages_5; [
          rocblas
          hipblas
          clr
        ];
      };
    in [
    "L+    /opt/rocm       -    -    -     -    ${rocmEnv}"







>
>
>









|
|


|


|






<
<
<
<
<
<
|


|







94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126






127
128
129
130
131
132
133
134
135
136
137
    [ { device = "/dev/disk/by-label/swap"; }
    ];

  powerManagement.cpuFreqGovernor = lib.mkDefault "schedutil";

  hardware.cpu.amd.updateMicrocode = true;

  # If there are Vulkan or RT issues, enable amdvlk
  # Do note, however, that some applications won't work with amdvlk.

  hardware.graphics = {
    enable = true;
    enable32Bit = true;
    # TODO: what are these called now?
    # driSupport = true;
    # driSupport32Bit = true;
    extraPackages = with pkgs; [
      vaapiVdpau
      libvdpau-va-gl
      # amdvlk
      rocmPackages.clr
    ];
    extraPackages32 = with pkgs.pkgsi686Linux; [
      # pkgs.driversi686Linux.amdvlk
      pkgs.driversi686Linux.mesa
      libvdpau-va-gl
      # amdvlk
    ];
  };

  environment.variables.AMD_VULKAN_ICD = lib.mkDefault "RADV";
  environment.variables.VDPAU_DRIVER = "va_gl";







  systemd.tmpfiles.rules = let
      rocmEnv = pkgs.symlinkJoin {
        name = "rocmEnv";
        paths = with pkgs.rocmPackages; [
          rocblas
          hipblas
          clr
        ];
      };
    in [
    "L+    /opt/rocm       -    -    -     -    ${rocmEnv}"
Changes to hosts/necrophcodr-desktop/home.nix.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

40
41

42
43

44












































45
46
47
48
49
50










51
52
53
54
55
56




57
58
59

60
61
62
63
64
65
66
67
68
69











70
71
72
73
74
75
76








77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98






99
100
101
102



103

104







105
106
107
108
109
110
111
{ inputs, ... }:
let
  pkgs = import inputs.nixpkgs {
    system = "x86_64-linux";
    config.allowUnfree = true;
  };
  pkgsUnstable = import inputs.nixpkgsUnstable {
    system = "x86_64-linux";
    config.allowUnfree = true;
  };
  #steam = pkgs.steam.override { extraPkgs = pkgs: with pkgs; [ cups glib glibmm ]; };
  flashpoint-run = import ./flashpoint-run.nix { lib = pkgs.lib; inherit pkgs; };
in
{
  imports = [
    inputs.nixvim.homeManagerModules.nixvim
    ../../common.nix 
    ../lib/git.nix
    ../lib/xfce4.nix
    ../lib/nvim.nix # uncomment for shared neovim setup
 ];

  home.packages = with pkgs; [
    # crypto
    electrum
    monero-cli
    monero-gui

    # games
    bottles
    gamemode
    lutris
    scummvm
    #space-cadet-pinball
    prismlauncher
    mangohud
    steam
    gamescope
    #heroic

    #flashpoint-run
    wineWowPackages.stable

    pkgsUnstable.ut1999
    winetricks

    ironwail













































    # media
    shotwell
    audacious
    strawberry # flatpak doesn't support tracker music i guess.
    easyeffects











    # ops
    borgbackup
    megasync
    vmtouch
    file





    # office-stuff
    firefox-bin

    thunderbird-bin
    claws-mail
    barrier
    skypeforlinux
    nicotine-plus
    jdiskreport
    # peazip
    kvirc
    hexchat
    rink












    # dev
    subversion
    notepadqq
    distrobox
    clang
    gnumake









    # fonts
    vollkorn
    nerdfonts

    # misc
    pulseaudio
    keepassxc
    qbittorrent
    unrar
    unzip
    zip
    p7zip
    lz4
    appimage-run
    #czkawka
    zpaqfranz
    fzf
    lesspipe
    szyszka
    keybase-gui
    protonmail-bridge-gui






  ];

  programs.opam.enable = true;
  programs.carapace.enable = true;





  programs.emacs.enable = true;








  programs.starship = { 
    enable = true;
    settings = {
      add_newline = true;
      character = { 
        success_symbol = "[➜](bold green)";











|



<
|


<









|









>


>

|
>

>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>






>
>
>
>
>
>
>
>
>
>






>
>
>
>



>



<






>
>
>
>
>
>
>
>
>
>
>




<


>
>
>
>
>
>
>
>



<











|






>
>
>
>
>
>


<

>
>
>

>
|
>
>
>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

16
17
18

19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122

123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143

144
145
146
147
148
149
150
151
152
153
154
155
156

157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182

183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
{ inputs, ... }:
let
  pkgs = import inputs.nixpkgs {
    system = "x86_64-linux";
    config.allowUnfree = true;
  };
  pkgsUnstable = import inputs.nixpkgsUnstable {
    system = "x86_64-linux";
    config.allowUnfree = true;
  };
  #steam = pkgs.steam.override { extraPkgs = pkgs: with pkgs; [ cups glib glibmm ]; };
  # flashpoint-run = import ./flashpoint-run.nix { lib = pkgs.lib; inherit pkgs; };
in
{
  imports = [

    ../../common.nix
    ../lib/git.nix
    ../lib/xfce4.nix

 ];

  home.packages = with pkgs; [
    # crypto
    electrum
    monero-cli
    monero-gui

    # games
    (bottles.override { removeWarningPopup = true; })
    gamemode
    lutris
    scummvm
    #space-cadet-pinball
    prismlauncher
    mangohud
    steam
    gamescope
    #heroic
    opengamepadui
    #flashpoint-run
    wineWowPackages.stable
    winetricks
    pkgsUnstable.ut1999
    fteqw
    nzportable
    ironwail
    raze
    # sauerbraten # very slow to download...
    #openra
    openttd
    openxcom
    stuntrally
    speed_dreams
    # openxray # https://github.com/OpenXRay/xray-16
    lincity
    # oilrush # (how does this even work??)
    osu-lazer-bin
    srb2
    srb2kart
    ringracers
    opensurge
    mindustry-wayland
    zeroad-unwrapped
    warzone2100
    wesnoth
    iortcw
    unvanquished
    freeciv
    lutris
    rpcs3
    (retroarch.withCores (cores: with cores; [
      play
      mgba
      mame
      tic80
      pcsx2
      citra
      snes9x
      ppsspp
      dosbox
      scummvm
      dolphin
      vice-x64
      vice-x128
      nestopia
      mupen64plus
      pcsx-rearmed
    ]))
    protonup-qt
    protontricks

    # media
    shotwell
    audacious
    strawberry # flatpak doesn't support tracker music i guess.
    easyeffects
    blender
    darktable
    furnace
    handbrake
    krita
    milkytracker
    mpv
    vlc
    tenacity
    easyeffects

    # ops
    borgbackup
    megasync
    vmtouch
    file
    pkgsUnstable.signalbackup-tools
    qtemu
    qemu
    quickemu

    # office-stuff
    firefox-bin
    tor-browser
    thunderbird-bin
    claws-mail
    barrier

    nicotine-plus
    jdiskreport
    # peazip
    kvirc
    hexchat
    rink
    lagrange
    qdirstat
    speedcrunch
    xournalpp
    drawio
    libreoffice-fresh
    abiword
    gnumeric
    onlyoffice-desktopeditors
    typstwriter
    typst

    # dev
    subversion
    notepadqq

    clang
    gnumake
    go
    zig
    gopls
    zls
    dockerfile-language-server-nodejs
    # devenv # broken
    gnome-boxes
    godot

    # fonts
    vollkorn


    # misc
    pulseaudio
    keepassxc
    qbittorrent
    unrar
    unzip
    zip
    p7zip
    lz4
    appimage-run
    czkawka
    zpaqfranz
    fzf
    lesspipe
    szyszka
    keybase-gui
    protonmail-bridge-gui
    kando
    flameshot
    onionshare-gui
    revolt-desktop
    element-desktop
    kdePackages.filelight
  ];


  programs.carapace.enable = true;
  programs.emacs.enable = true;
  programs.fish.enable = true;
  programs.zellij.enable = true;

  programs.foot = {
    enable = true;
    settings = {
      main = {
        font = "Terminus:size=8";
        dpi-aware = true;
      };
    };
  };

  programs.starship = { 
    enable = true;
    settings = {
      add_newline = true;
      character = { 
        success_symbol = "[➜](bold green)";
125
126
127
128
129
130
131



132

  services.ssh-agent.enable = true;
  services.kbfs.enable = true;
  services.keybase.enable = true;
  xdg.enable = true;
  xdg.configFile."mpd/mpd.conf".source = ../../config/.config/mpd/mpd.conf;
  xdg.configFile."wezterm/wezterm.lua".source = ../../config/.config/wezterm/wezterm.lua;



}







>
>
>

217
218
219
220
221
222
223
224
225
226
227

  services.ssh-agent.enable = true;
  services.kbfs.enable = true;
  services.keybase.enable = true;
  xdg.enable = true;
  xdg.configFile."mpd/mpd.conf".source = ../../config/.config/mpd/mpd.conf;
  xdg.configFile."wezterm/wezterm.lua".source = ../../config/.config/wezterm/wezterm.lua;
  xdg.configFile."libvirt/qemu.conf".text = ''
  nvram = [ "/run/libvirt/nix-ovmf/AAVMF_CODE.fd:/run/libvirt/nix-ovmf/AAVMF_VARS.fd", "/run/libvirt/nix-ovmf/OVMF_CODE.fd:/run/libvirt/nix-ovmf/OVMF_VARS.fd" ]
  '';
}