Move home-manager packages into `pkgs/` directory

finchie
Mar 22, 2025, 10:09 AM
RSQ7CKAZHVAJY65JNQE44LVDXTLVC4EBIH5TKUOM5JVNJNKLYA6AC

Dependencies

  • [2] OX3PHX7E Add the sympy python package
  • [3] CXXDFKW4 Switch to `mold-wrapped`
  • [4] UUEEIP2Y Temporarily disable `biome` due to build failure
  • [5] KJGOVHLX Use `qemu:///system` (root) instead of `qemu:///session` (user)
  • [6] KEUJD3II Add WASI 0.2 Rust target
  • [7] OCQLJW73 Remove fork adding Thunderbird daily support
  • [8] SNFLWQ7I Add `sshfs`
  • [9] CMN6CONJ Create `gnome-keyring` systemd service
  • [10] XDXDY3CX Use `cargo sweep` to clean Rust target directories after an upgrade
  • [11] IOAMB5VC Re-enable lldb
  • [12] TQ5VEAMA Remove unused Nix module imports
  • [13] YI2TUV6L Add `prismlauncher` for Minecraft
  • [14] ZV2IS53T Change Rust Windows target from `msvc` to `gnu`
  • [15] DQWC7X43 Use `nh os switch` instead of `nixos-rebuild switch` in rebuild script
  • [16] J3FOIYTW Replace `neofetch` with `fastfetch`
  • [17] SOH27ET4 Add spotify
  • [18] WQJ4ZB4N Remove `nose` Python package
  • [19] F3EZ35XV Add `cargo-update`
  • [20] MXZ6ZPWJ Add `atuin`
  • [21] UIWDFFTN Rename `thunderbird-daily` to `thunderbird-nightly`
  • [22] GRPLLE3P Remove pop shell
  • [23] LINABQOX Add `carapace`
  • [24] BVDL4F6M Move keyring service into home-manager
  • [25] 226QFOML Replace `cargo-asm` with `cargo-show-asm`
  • [26] CHLZQRPL Remove OBS studio
  • [27] DTGOBQM7 Remove `spot` spotify client
  • [28] SOQAOOAQ Add `cargo-asm`
  • [29] 47BMTHXK Add `virt-manager`
  • [30] VVNVU6K7 Auto-format Nix code
  • [31] P4AHZBIE Remove `geopandas`
  • [32] 3TVBAO7R Remove `wasm32-wasi` Rust target
  • [33] S6CWU4PF Add x86 MacOS Rust target
  • [34] 5FI47NSA Migrate to home-manager
  • [35] BOM62YGM Add nil (Nix language server)
  • [36] GJRLI6PZ Add `cargo-cache`
  • [37] OOGBJDWU Add `bochs`
  • [38] BVV6PXFF Add `x86_64-unknown-linux-musl` target for rust
  • [39] JOVTBNZU Add `pyarrow` to python packages
  • [40] T3QMX5I5 Add `cargo-nextest`
  • [41] EK536IG3 Add `cargo-watch`
  • [42] F2XQXDES Replace `cargo-watch` with `bacon`
  • [43] 7PSAYA7J Migrate from depracated `nushellFull` to `nushell`
  • [44] DG665V4F Migrate programs installed via `cargo install` to `home.nix`
  • [45] KJICSQLA Remove the `arduino` package
  • [46] HLTVHNCX Add windows Rust target
  • [47] WTGYIZRT Disable `gnome-keyring`
  • [*] KV37II4V

Change contents

  • file addition: pkgs (d--r------)
    [49.1]
  • file addition: rust.nix (----------)
    [0.16]
    { pkgs, ... }: {
    home.packages = with pkgs; [
    (rust-bin.selectLatestNightlyWith (toolchain:
    toolchain.default.override {
    extensions = [ "llvm-tools" "rust-src" "rustc-codegen-cranelift" ];
    targets = [
    "riscv32imc-unknown-none-elf"
    "wasm32-unknown-unknown"
    "wasm32-wasip2"
    "x86_64-apple-darwin"
    "x86_64-pc-windows-gnu"
    "x86_64-unknown-linux-musl"
    "x86_64-unknown-none"
    ];
    }))
    # Analysis tools
    cargo-binutils
    cargo-expand
    cargo-show-asm
    # Dependency management
    cargo-bloat
    cargo-depgraph
    cargo-diet
    cargo-edit
    cargo-machete
    cargo-modules
    cargo-udeps
    cargo-unused-features
    cargo-update
    # Compilation tools
    bacon
    cargo-dist
    cargo-nextest
    sccache
    # Compiler analysis
    cargo-bisect-rustc
    measureme
    # Storage management
    cargo-cache
    cargo-sweep
    # WASM
    trunk
    wasm-bindgen-cli
    wasm-pack
    ];
    }
  • file addition: development.nix (----------)
    [0.16]
    { pkgs, ... }:
    {
    home.packages = with pkgs; [
    # Build tools
    cmake
    gnumake
    ninja
    # Compilers
    gcc
    nodejs
    (python3.withPackages (ps: [ ]))
    # Documentation
    mdbook
    pandoc
    typst
    # Editors
    helix
    lapce
    vscode
    # Language servers
    nil
    # Linkers
    lld
    mold-wrapped
    # Linters/formatters
    biome
    nixfmt-classic
    ruff
    # Package management
    pkg-config
    yarn
    # Profilers
    hotspot
    hyperfine
    lldb
    lurk
    samply
    # Version control
    difftastic
    git
    jujutsu
    # Virtualization
    bochs
    qemu
    sshfs
    virt-manager
    ];
    }
  • file addition: desktop.nix (----------)
    [0.16]
    { pkgs, ... }: {
    home.packages = with pkgs; [
    # Applications
    bitwarden-desktop
    discord-canary
    latest.firefox-nightly-bin
    notion-app-enhanced
    onlyoffice-bin
    spotify
    thunderbird-bin
    # Gaming
    lutris
    prismlauncher
    steam
    steam-run
    # CLI utilities
    asciinema
    bat
    bottom
    dogdns
    du-dust
    fastfetch
    fd
    ripgrep
    tokei
    zip
    # Shell
    atuin
    carapace
    nushell
    zoxide
    # Updates
    nh
    nix-output-monitor
    topgrade
    ];
    }
  • replacement in home.nix at line 2
    [13.131][12.0:15]()
    { pkgs, ... }:
    [13.131]
    [13.154]
    { ... }: {
    imports = [ ./pkgs/desktop.nix ./pkgs/development.nix ./pkgs/rust.nix ];
  • edit in home.nix at line 5
    [13.155][13.0:39](),[13.39][13.196:244](),[13.196][13.196:244](),[13.253][13.253:292](),[13.306][13.306:380](),[13.380][13.0:12](),[13.12][2.0:10](),[2.10][13.380:385](),[13.12][13.380:385](),[13.380][13.380:385](),[13.385][13.385:388](),[13.388][13.388:390]()
    let
    python-packages = ps: with ps; [
    requests
    discordpy
    pandas
    numpy
    matplotlib
    seaborn
    basemap
    pyshp
    jupyter
    notebook
    ipython
    ipykernel
    openpyxl
    pyarrow
    sympy
    ];
    in
    {
  • replacement in home.nix at line 10
    [13.43][13.535:566](),[13.535][13.535:566](),[13.566][13.566:645](),[13.645][13.645:719](),[13.719][6.0:188](),[13.140][13.832:840](),[13.156][13.832:840](),[13.164][13.832:840](),[13.165][13.832:840](),[13.172][13.832:840](),[13.186][13.832:840](),[6.188][13.832:840](),[13.832][13.832:840](),[13.840][13.840:883](),[13.883][13.883:914](),[13.914][7.0:20](),[7.20][13.0:14](),[13.35][13.0:14](),[13.947][13.0:14](),[13.14][13.0:12](),[13.960][13.0:12](),[13.12][13.976:987](),[13.976][13.976:987](),[13.987][4.0:12](),[4.12][13.997:1051](),[13.997][13.997:1051](),[13.1051][13.1051:1062](),[13.1062][13.1062:1106](),[13.1118][13.1118:1261](),[13.1270][13.1270:1283](),[13.1283][13.0:17](),[13.16][13.0:233](),[13.233][13.0:16](),[13.16][13.0:18](),[13.18][13.0:19](),[13.19][10.1267:1283](),[10.1283][13.0:10](),[13.19][13.0:10](),[13.10][13.233:314](),[13.14][13.233:314](),[13.16][13.233:314](),[13.18][13.233:314](),[13.19][13.233:314](),[13.233][13.233:314](),[13.16][13.1283:1353](),[13.17][13.1283:1353](),[13.314][13.1283:1353](),[13.1283][13.1283:1353](),[13.1368][13.1368:1383](),[13.1383][13.1383:1428](),[13.1428][13.1428:1448](),[13.1448][13.1448:1465](),[13.1465][13.1465:1502](),[13.1502][13.1502:1538](),[13.1538][13.1538:1552](),[13.1552][3.0:17](),[3.17][13.1561:1586](),[13.1561][13.1561:1586](),[13.1586][13.1586:1614](),[13.1614][13.1614:1647](),[13.1647][13.1647:1673](),[13.1673][13.1673:1712](),[13.1712][11.0:9](),[11.9][13.1753:1847](),[13.1753][13.1753:1847](),[13.1847][13.274:304](),[13.304][13.0:8](),[13.8][13.0:12](),[13.12][13.0:10](),[13.10][13.0:13](),[13.13][13.0:10](),[13.10][13.0:18](),[13.18][13.0:17](),[13.17][8.0:10](),[13.8][13.1847:1852](),[13.10][13.1847:1852](),[8.10][13.1847:1852](),[13.10][13.1847:1852](),[13.12][13.1847:1852](),[13.13][13.1847:1852](),[13.17][13.1847:1852](),[13.18][13.1847:1852](),[13.304][13.1847:1852](),[13.1847][13.1847:1852](),[13.1852][9.0:3]()
    home.packages = with pkgs; [
    (rust-bin.selectLatestNightlyWith (toolchain: toolchain.default.override {
    extensions = [ "rust-src" "llvm-tools" "rustc-codegen-cranelift" ];
    targets = [ "riscv32imc-unknown-none-elf" "x86_64-unknown-none" "wasm32-unknown-unknown" "x86_64-unknown-linux-musl" "x86_64-pc-windows-gnu" "x86_64-apple-darwin" "wasm32-wasip2" ];
    }))
    (python3.withPackages python-packages)
    latest.firefox-nightly-bin
    thunderbird-bin
    fastfetch
    nushell
    pandoc
    # biome
    alacritty
    helix
    direnv
    discord-canary
    vscode
    git
    steam
    sidequest
    ripgrep
    bat
    bottom
    du-dust
    asciinema
    lapce
    fontconfig
    zoxide
    fd
    tokei
    hotspot
    onlyoffice-bin
    hyperfine
    topgrade
    cargo-update
    cargo-dist
    cargo-binutils
    cargo-bloat
    cargo-cache
    cargo-bisect-rustc
    cargo-diet
    cargo-edit
    cargo-expand
    cargo-machete
    cargo-udeps
    cargo-unused-features
    cargo-modules
    cargo-depgraph
    cargo-cache
    cargo-nextest
    cargo-show-asm
    cargo-sweep
    bacon
    mdbook
    samply
    trunk
    wasm-bindgen-cli
    measureme
    wasm-pack
    steam-run
    lutris
    mdbook
    difftastic
    lurk
    typst
    pkg-config
    openssl
    libiconv
    zstd
    xxHash
    yarn
    nodejs
    libudev-zero
    qemu
    # llvmPackages.bintools
    xorg.libX11
    xorg.libxkbfile
    libsecret
    mold-wrapped
    # clang_14
    cmake
    fontconfig
    freetype
    ninja
    ruff
    libsodium
    ffmpeg
    tk
    zip
    gdb
    sccache
    gcc
    dogdns
    lldb
    gnumake
    lld
    notion-app-enhanced
    nixpkgs-fmt
    jujutsu
    bitwarden-desktop
    nix-output-monitor
    nh
    nil
    spotify
    atuin
    carapace
    bochs
    prismlauncher
    virt-manager
    sshfs
    ];
    [13.532]
    [9.3]
    # Use qemu:///system (root) instead of qemu:///session (user)
    dconf.settings = {
    "org/virt-manager/virt-manager/connections" = {
    autoconnect = [ "qemu:///system" ];
    uris = [ "qemu:///system" ];
    };
    };
  • replacement in home.nix at line 28
    [9.351][9.351:440]()
    ExecStart =
    "/run/wrappers/bin/gnome-keyring-daemon --start --foreground";
    [9.351]
    [9.440]
    ExecStart = "/run/wrappers/bin/gnome-keyring-daemon --start --foreground";
  • edit in home.nix at line 35
    [13.532][5.0:1](),[5.1][5.1:138](),[5.138][5.138:211](),[5.211][5.211:223](),[5.223][13.0:3](),[13.532][13.0:3]()
    # Use qemu:///system (root) instead of qemu:///session (user)
    dconf.settings = {
    "org/virt-manager/virt-manager/connections" = {
    autoconnect = ["qemu:///system"];
    uris = ["qemu:///system"];
    };
    };
  • resolve order conflict in home.nix at line 35
    [13.1854]