Reviewed-on: #1 Co-authored-by: Tristan <tristan@vault81.mozmail.com> Co-committed-by: Tristan <tristan@vault81.mozmail.com>
194 lines
5 KiB
Nix
194 lines
5 KiB
Nix
{
|
|
description = "flake for nixos-pulse";
|
|
|
|
nixConfig = {
|
|
extra-trusted-substituters = [
|
|
"https://nix-community.cachix.org"
|
|
];
|
|
extra-trusted-public-keys = [
|
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
|
];
|
|
};
|
|
|
|
inputs = {
|
|
nixpkgs-unstable = {
|
|
url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
|
};
|
|
nixos-unstable = {
|
|
url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
};
|
|
nixpkgs = {
|
|
url = "github:NixOS/nixpkgs/nixos-23.05";
|
|
};
|
|
tuxedo-nixos = {
|
|
url = "github:blitz/tuxedo-nixos";
|
|
};
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager/release-23.05";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
emacs-overlay = {
|
|
url = "github:nix-community/emacs-overlay";
|
|
inputs.nixpkgs-stable.follows = "nixpkgs";
|
|
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
|
};
|
|
disko = {
|
|
url = "github:nix-community/disko";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
nur = {
|
|
url = "github:nix-community/NUR";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
nix-wallpaper = {
|
|
url = "github:lunik1/nix-wallpaper";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
nix-index-database = {
|
|
url = "github:Mic92/nix-index-database";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
plasma-manager = {
|
|
url = "github:pjones/plasma-manager";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
inputs.home-manager.follows = "home-manager";
|
|
};
|
|
nix-ld = {
|
|
url = "github:Mic92/nix-ld";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
};
|
|
|
|
outputs =
|
|
{ self
|
|
, nixpkgs
|
|
, nixpkgs-unstable
|
|
, nixos-unstable
|
|
, home-manager
|
|
, emacs-overlay
|
|
, nur
|
|
, nix-index-database
|
|
, disko
|
|
, ...
|
|
} @ inputs:
|
|
let
|
|
system = "x86_64-linux";
|
|
unstable-os = import nixos-unstable pkgs-args;
|
|
unstable-os-overlay = _final: _prev: {
|
|
unstable-os = unstable-os.pkgs;
|
|
};
|
|
unstable-pkgs = import nixpkgs-unstable pkgs-args;
|
|
unstable-pkgs-overlay = _final: _prev: {
|
|
unstable-pkgs = unstable-pkgs.pkgs;
|
|
};
|
|
overlays = [
|
|
unstable-os-overlay
|
|
unstable-pkgs-overlay
|
|
emacs-overlay.overlay
|
|
];
|
|
pkgs-args = {
|
|
inherit system;
|
|
inherit overlays;
|
|
config = {
|
|
allowUnfree = true;
|
|
permittedInsecurePackages = [
|
|
"electron-22.3.27"
|
|
"electron-24.8.6"
|
|
];
|
|
};
|
|
};
|
|
pkgs = import nixpkgs pkgs-args;
|
|
hmModules = [
|
|
nix-index-database.hmModules.nix-index
|
|
nur.hmModules.nur
|
|
inputs.plasma-manager.homeManagerModules.plasma-manager
|
|
];
|
|
osModules = [
|
|
disko.nixosModules.disko
|
|
home-manager.nixosModules.home-manager
|
|
nix-index-database.nixosModules.nix-index
|
|
nur.nixosModules.nur
|
|
inputs.nix-ld.nixosModules.nix-ld
|
|
inputs.tuxedo-nixos.nixosModules.default
|
|
];
|
|
args = {
|
|
inherit self;
|
|
inherit inputs;
|
|
inherit system;
|
|
};
|
|
in
|
|
{
|
|
formatter = {
|
|
${system} = pkgs.nixpkgs-fmt;
|
|
};
|
|
diskoConfigurations = {
|
|
nixos-pulse = import ./systems/nixos-pulse/disko.nix;
|
|
nixos-desk = import ./systems/nixos-desk/disko.nix;
|
|
};
|
|
homeConfigurations = {
|
|
"tester@tristan-desk-arch" = home-manager.lib.homeManagerConfiguration {
|
|
inherit pkgs;
|
|
|
|
modules =
|
|
[
|
|
./users/tester.nix
|
|
{
|
|
_module = { inherit args; };
|
|
targets.genericLinux.enable = true;
|
|
programs = {
|
|
bash.enable = true;
|
|
zsh.enable = true;
|
|
home-manager.enable = true;
|
|
};
|
|
}
|
|
]
|
|
++ hmModules;
|
|
};
|
|
"tristand" = home-manager.lib.homeManagerConfiguration {
|
|
inherit pkgs;
|
|
|
|
modules =
|
|
[
|
|
./users/tristand.nix
|
|
{
|
|
_module = { inherit args; };
|
|
xsession.enable = true;
|
|
}
|
|
]
|
|
++ hmModules;
|
|
};
|
|
};
|
|
nixosConfigurations = {
|
|
nixos-pulse = nixpkgs.lib.nixosSystem {
|
|
modules =
|
|
[
|
|
./systems/nixos-pulse
|
|
{
|
|
_module = { inherit args; };
|
|
|
|
nix.registry.nixpkgs.flake = nixpkgs;
|
|
nixpkgs.pkgs = pkgs;
|
|
|
|
home-manager.sharedModules = hmModules;
|
|
home-manager.extraSpecialArgs = args;
|
|
}
|
|
]
|
|
++ osModules;
|
|
};
|
|
nixos-desk = nixpkgs.lib.nixosSystem {
|
|
modules =
|
|
[
|
|
./systems/nixos-desk
|
|
{
|
|
_module.args = args;
|
|
nixpkgs.pkgs = pkgs;
|
|
nix.registry.nixpkgs.flake = nixpkgs;
|
|
home-manager.sharedModules = hmModules;
|
|
home-manager.extraSpecialArgs = args;
|
|
}
|
|
]
|
|
++ osModules;
|
|
};
|
|
};
|
|
};
|
|
}
|