NixOS/flake.nix

100 lines
3.9 KiB
Nix

{
description = "JawZ NixOS flake setup";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-24.05";
nixpkgs-unstable.url = "github:nixos/nixpkgs?ref=nixos-unstable";
nixpkgs-master.url = "github:nixos/nixpkgs?ref=master";
home-manager.url = "github:nix-community/home-manager/release-24.05";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = { self, nixpkgs, nixpkgs-unstable, nixpkgs-master, home-manager, ...
}@inputs:
let
inherit (self) outputs;
lib = nixpkgs.lib // home-manager.lib;
system = "x86_64-linux";
makePkgs = repo:
import repo {
inherit system;
config.allowUnfree = true;
};
pkgs = makePkgs nixpkgs;
pkgsU = makePkgs nixpkgs-unstable;
pkgsM = makePkgs nixpkgs-master;
in {
inherit lib pkgs;
formatter = pkgs.alejandra;
nixosConfigurations = {
workstation = lib.nixosSystem {
inherit system;
modules = [
# lix-module.nixosModules.default
./hosts/workstation/configuration.nix
({ pkgs, ... }: {
nixpkgs.overlays = [
(self: super: {
gnome = super.gnome.overrideScope' (gFinal: gPrev: {
nautilus = gPrev.nautilus.overrideAttrs (nsuper: {
buildInputs = nsuper.buildInputs
++ (with pkgs.gst_all_1; [
gst-libav
gst-plugins-good
gst-plugins-bad
gst-plugins-ugly
gst-plugins-base
]);
});
#mutter = gPrev.mutter.overrideAttrs (old: {
# src = super.pkgs.fetchgit {
# url = "https://gitlab.gnome.org/vanvugt/mutter.git";
# # GNOME 45: triple-buffering-v4-45
# rev = "0b896518b2028d9c4d6ea44806d093fd33793689";
# sha256 =
# "sha256-mzNy5GPlB2qkI2KEAErJQzO//uo8yO0kPQUwvGDwR4w=";
# };
#});
});
lutris = super.lutris.override {
extraPkgs = pkgs: [
pkgs.winetricks
pkgs.wine64Packages.stable
pkgs.wineWowPackages.stable
];
};
nerdfonts = super.nerdfonts.override {
fonts = [ "CascadiaCode" "ComicShannsMono" "Iosevka" ];
};
fooyin = pkgsM.fooyin;
planify = pkgsU.planify;
gdtoolkit = pkgsU.gdtoolkit;
gallery-dl = pkgsU.gallery-dl;
#gallery-dl = super.gallery-dl.overrideAttrs (oldAttrs: rec {
# pname = "gallery-dl";
# version = "2023-05-28-master";
# src = super.fetchFromGitHub {
# owner = "mikf";
# repo = "gallery-dl";
# rev = "e35317118a1a4a7a2dc85ff5aa996f5f4d3f4197";
# sha256 =
# "sha256-aHGJZkt5fzF+iHVbHOyYswPLeZfwd6S+pRPXavIpFgI=";
# };
#});
ns-usbloader = pkgsU.ns-usbloader;
handbrake = super.handbrake.override { useGtk = true; };
discord = super.discord.override { withOpenASAR = true; };
ripgrep = super.ripgrep.override { withPCRE2 = true; };
blender = super.blender.override { cudaSupport = true; };
papirus-icon-theme =
super.papirus-icon-theme.override { color = "adwaita"; };
})
];
})
];
specialArgs = { inherit inputs outputs; };
};
};
};
}