{ description = "dotfiles"; inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; inputs.flake-utils.url = "github:numtide/flake-utils"; inputs.emacs-overlay.url = "github:nix-community/emacs-overlay"; outputs = { self, nixpkgs, flake-utils, emacs-overlay }: flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { system = system; config = { allowUnfree = true; }; }; in { packages.lutris = pkgs.lutris.override { extraPkgs = pkgs: [ pkgs.mangohud ]; }; packages.mopidyWithExtensions = pkgs.buildEnv { name = "mopidy-with-extensions-${pkgs.mopidy.version}"; paths = pkgs.lib.closePropagation (with pkgs; [ (mopidy-iris.overrideAttrs (oldAttrs: rec { src = python3Packages.fetchPypi { pname = "Mopidy-Iris"; version = "3.64.0"; sha256 = "062x73glhn1x4wgc7zmb9y3cq15d5grgqf5drdpbp6p3cgk4s2vc"; }; })) mopidy-local (mopidy-mpd.overrideAttrs (oldAttrs: rec { src = python3Packages.fetchPypi { version = "3.3.0"; pname = "Mopidy-MPD"; sha256 = "sha256-CeLMRqj9cwBvQrOx7XHVV8MjDjwOosONVlsN2o+vTVM="; }; })) (mopidy-ytmusic.overrideAttrs (oldAttrs: rec { postPatch = ""; src = python3Packages.fetchPypi { version = "0.3.7"; pname = "Mopidy-YTMusic"; sha256 = "0gqjvi3nfzkqvbdhihzai241p1h5p037bj2475cc93xwzyyqxcrq"; }; })) ]); pathsToLink = [ "/${pkgs.mopidyPackages.python.sitePackages}" ]; buildInputs = [ pkgs.makeWrapper ]; postBuild = '' makeWrapper ${pkgs.mopidy}/bin/mopidy $out/bin/mopidy \ --prefix PYTHONPATH : $out/${pkgs.mopidyPackages.python.sitePackages} ''; }; devShells = { aby = import ./nix/aby.nix { pkgs = pkgs; }; empty = import ./nix/empty.nix { pkgs = pkgs; }; spfe = import ./nix/spfe.nix { pkgs = pkgs; }; zig = import ./nix/zig.nix { pkgs = pkgs; }; zig-bootstrap = import ./nix/zig-bootstrap.nix { pkgs = pkgs; }; rusty = import ./nix/rusty.nix { pkgs = pkgs; }; }; }) // { nixosConfigurations = { dustbowl = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ (import ./nixos/dustbowl.nix { emacs-overlay = emacs-overlay; nixpkgs = nixpkgs; }) ]; }; }; legacyPackages = nixpkgs.legacyPackages; }; }