3.6 KiB
Add to NixOS system configuration
Add DBX as a flake input and include the package in environment.systemPackages.
flake.nix
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
dbx = {
url = "github:t8y2/dbx";
inputs.nixpkgs.follows = "nixpkgs"; # optional
};
};
outputs = { self, nixpkgs, dbx, ... }: {
nixosConfigurations.my-machine = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./configuration.nix
{
environment.systemPackages = [
dbx.packages.x86_64-linux.dbx-desktop
];
}
];
};
};
}
Apply
sudo nixos-rebuild switch --flake .#my-machine
Add via Home Manager
This method installs DBX for a specific user through Home Manager.
Note
The
inputs.nixpkgs.follows = "nixpkgs"line is optional. It prevents Nix from downloading a second copy of nixpkgs, but it also makes DBX ineligible for the upstream binary cache (it will be built locally). Remove that line if you prefer to download a pre-built binary.
flake.nix (standalone Home Manager)
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
dbx = {
url = "github:t8y2/dbx";
inputs.nixpkgs.follows = "nixpkgs"; # optional
};
};
outputs = { self, nixpkgs, home-manager, dbx, ... }: {
homeConfigurations."youruser" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux;
system = "x86_64-linux";
modules = [
{
home.packages = [
dbx.packages.x86_64-linux.dbx-desktop
];
}
];
};
};
}
flake.nix (NixOS + Home Manager as a NixOS module)
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
dbx = {
url = "github:t8y2/dbx";
inputs.nixpkgs.follows = "nixpkgs"; # optional
};
};
outputs = { self, nixpkgs, home-manager, dbx, ... }: {
nixosConfigurations.my-machine = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.users.youruser = {
home.packages = [
dbx.packages.x86_64-linux.dbx-desktop
];
};
}
];
};
};
}
Replace
youruserwith your actual Linux username andmy-machinewith your hostname.
Apply (standalone)
home-manager switch --flake .#youruser
Apply (NixOS module)
sudo nixos-rebuild switch --flake .#my-machine
Development Shell
If you are contributing to DBX or building it from a local clone, the flake provides a fully configured development shell with Rust, Node.js, pnpm, and all GTK/WebKit system libraries:
git clone https://github.com/t8y2/dbx
cd dbx
nix develop
Inside the shell:
| Task | Command |
|---|---|
| Desktop app (Tauri) | pnpm install && pnpm dev:tauri |
| Web frontend only | pnpm dev:web |
| Web backend only | pnpm dev:backend |
| Release build | pnpm tauri build |
Building from Source
Build the dbx-desktop package directly from the flake:
nix build github:t8y2/dbx#dbx-desktop
# or, from a local clone:
nix build .#dbx-desktop
The resulting binary is available at ./result/bin/dbx.