/ flake.nix
flake.nix
1 { 2 description = "Dim (or brighten) your screen"; 3 4 inputs = { 5 nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; 6 rust-overlay.url = "github:oxalica/rust-overlay"; 7 flake-utils.url = "github:numtide/flake-utils"; 8 }; 9 10 outputs = { self, nixpkgs, rust-overlay, flake-utils, ... }: 11 flake-utils.lib.eachDefaultSystem (system: 12 let 13 overlays = [ (import rust-overlay) ]; 14 pkgs = import nixpkgs { 15 inherit system overlays; 16 }; 17 18 rustPlatform = pkgs.makeRustPlatform { 19 cargo = pkgs.rust-bin.stable.latest.default; 20 rustc = pkgs.rust-bin.stable.latest.default; 21 }; 22 23 dim = rustPlatform.buildRustPackage { 24 name = "dim"; 25 src = ./.; 26 cargoLock.lockFile = ./Cargo.lock; 27 }; 28 in 29 with pkgs; 30 { 31 devShells.default = mkShell { 32 buildInputs = [ 33 rust-bin.stable.latest.default 34 ]; 35 shellHook = '' 36 user_shell=$(getent passwd "$(whoami)" |cut -d: -f 7) 37 exec "$user_shell" 38 ''; 39 }; 40 41 packages = { 42 default = dim; 43 }; 44 } 45 ); 46 }