realized I was inheriting nipkgs in my nixosSystems

added ways to use different branches of nixpkgs
made unfree packages have to specified
switched to nix master branch
moved sxhkd from a seperate flake
switched spotify and maim versions because both are broken on nixos-unstable right now
moved afk-cmds from local to remote
added flake-utils for easier devShell decleration
switched my mom's laptop to stable branch
This commit is contained in:
Gerg-L 2023-02-13 20:30:06 -05:00
parent 0132cde3f7
commit dc2db4a9bc
45 changed files with 449 additions and 1878 deletions

171
flake.nix
View file

@ -1,109 +1,114 @@
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
#channels
master.url = "github:NixOS/nixpkgs";
unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
stable.url = "github:NixOS/nixpkgs/nixos-22.11";
#utilites --maybe flake-parts soon?
flake-utils.url = "github:numtide/flake-utils";
#master branch of nix
nix.url = "github:NixOS/nix";
#the-argus is awesome
spicetify-nix = {
url = "github:the-argus/spicetify-nix";
inputs.nixpkgs.follows = "nixpkgs";
inputs.nixpkgs.follows = "unstable";
};
#my own packages
suckless = {
url = "github:Gerg-L/suckless";
inputs.nixpkgs.follows = "nixpkgs";
inputs.nixpkgs.follows = "unstable";
};
nvim-flake = {
url = "github:Gerg-L/nvim-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
sxhkd-flake = {
url = "github:Gerg-L/sxhkd-flake";
inputs.nixpkgs.follows = "nixpkgs";
inputs.nixpkgs.follows = "master";
};
fetch-rs = {
url = "github:Gerg-L/fetch-rs";
inputs.nixpkgs.follows = "nixpkgs";
inputs.nixpkgs.follows = "unstable";
};
};
outputs = {
self,
nixpkgs,
unstable,
stable,
flake-utils,
...
} @ inputs: let
system = "x86_64-linux";
lib = nixpkgs.lib;
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
overlays = [
(final: _: {
t-rex-miner = final.callPackage ./pkgs/t-rex-miner {};
afk-cmds = final.callPackage ./pkgs/afk-cmds {};
parrot = final.callPackage ./pkgs/parrot {};
})
inputs.suckless.overlay
inputs.nvim-flake.overlays.${system}.default
inputs.fetch-rs.overlays.${system}.default
];
};
in {
formatter.${system} = pkgs.alejandra;
devShells.${system} = rec {
nix = pkgs.mkShell {
packages = with pkgs; [nil alejandra deadnix statix];
};
rust = pkgs.mkShell {
packages = with pkgs; [rust-analyzer rustc cargo rustfmt clippy];
};
default = nix;
};
nixosConfigurations = {
gerg-desktop = lib.nixosSystem {
inherit system pkgs;
specialArgs = {
inherit inputs self;
settings = {
username = "gerg";
version = "23.05";
hostname = "gerg-desktop";
} @ inputs:
{
nixosConfigurations = {
gerg-desktop = unstable.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
inherit inputs self;
settings = {
username = "gerg";
hostname = "gerg-desktop";
};
};
modules = [
(import ./modules inputs)
(import ./common.nix inputs)
(import ./nix.nix inputs)
(import ./systems/desktop.nix inputs)
{
nixpkgs.overlays = [
(import ./pkgs)
];
}
];
};
modules = [
inputs.sxhkd-flake.nixosModules.sxhkd
./common.nix
./systems/desktop.nix
./nix.nix
];
};
game-laptop = lib.nixosSystem {
inherit system pkgs;
specialArgs = {
inherit inputs self;
settings = {
username = "games";
version = "23.05";
hostname = "game-laptop";
game-laptop = unstable.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
inherit inputs self;
settings = {
username = "games";
hostname = "game-laptop";
};
};
modules = [
(import ./modules inputs)
(import ./common.nix inputs)
(import ./nix.nix inputs)
(import ./systems/laptop.nix inputs)
];
};
modules = [
./common.nix
./systems/laptop.nix
./nix.nix
];
};
moms-laptop = lib.nixosSystem {
inherit system pkgs;
specialArgs = {
inherit inputs self;
settings = {
username = "jo";
version = "23.05";
hostname = "moms-laptop";
moms-laptop = stable.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
inherit inputs self;
settings = {
username = "jo";
hostname = "moms-laptop";
};
};
modules = [
(import ./modules inputs)
(import ./common.nix inputs)
(import ./nix.nix inputs)
(import ./systems/mom.nix inputs)
];
};
modules = [
./common.nix
./systems/mom.nix
./nix.nix
];
};
};
};
}
// flake-utils.lib.eachDefaultSystem (
system: let
pkgs = import unstable {inherit system;};
in {
formatter = pkgs.alejandra;
devShells = rec {
nix = pkgs.mkShell {
packages = with pkgs; [nil alejandra deadnix statix];
};
rust = pkgs.mkShell {
packages = with pkgs; [rust-analyzer rustc cargo rustfmt clippy];
};
default = nix;
};
}
);
}