flake.nix

This commit is contained in:
Tao Tien 2024-01-29 17:28:38 -08:00
parent 8e0a34f81f
commit ae5fdfda4c

148
flake.nix
View file

@ -2,72 +2,106 @@
description = "we say NO to shitty OSes"; description = "we say NO to shitty OSes";
inputs = { inputs = {
nixpkgs.url = "nixpkgs/nixos-23.11"; # nixpkgs.url = "nixpkgs/nixos-23.11";
nixpkgs-unstable.url = "nixpkgs/nixos-unstable"; nixpkgs.url = "nixpkgs/nixos-unstable";
nixos-hardware.url = "nixos-hardware"; nixos-hardware.url = "nixos-hardware";
nixos-raspberrypi.url = "github:ramblurr/nixos-raspberrypi"; nixos-raspberrypi.url = "github:ramblurr/nixos-raspberrypi";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
# prescurve.url = "github:taotien/prescurve";
# prescurve.inputs.nixpkgs.follows = "nixpkgs";
# aagl.url = "github:ezKEa/aagl-gtk-on-nix"; # aagl.url = "github:ezKEa/aagl-gtk-on-nix";
aagl.url = "github:ezKEa/aagl-gtk-on-nix/ee7b773dd7d028ad1b185cdf72bc16ce69ac0288"; aagl.url = "github:ezKEa/aagl-gtk-on-nix/ee7b773dd7d028ad1b185cdf72bc16ce69ac0288";
aagl.inputs.nixpkgs.follows = "nixpkgs"; aagl.inputs.nixpkgs.follows = "nixpkgs";
# prescurve.url = "github:taotien/prescurve";
# prescurve.inputs.nixpkgs.follows = "nixpkgs";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
}; };
outputs = { nixpkgs, nixos-hardware, nixpkgs-unstable, nixos-raspberrypi, aagl, home-manager, ... }@attrs: outputs = inputs@{ nixpkgs, nixos-hardware, nixos-raspberrypi, home-manager, aagl, ... }:
let # let
nixos-system = (systemModules: nixpkgs.lib.nixosSystem { # nixos-system = (systemModules: nixpkgs.lib.nixosSystem {
modules = systemModules; # modules = systemModules;
specialArgs = attrs; # specialArgs = attrs;
}); # });
overlay-unstable = final: prev: { # overlay-unstable = final: prev: {
unstable = import nixpkgs-unstable { # unstable = import nixpkgs {
system = "x86_64-linux"; # system = "x86_64-linux";
config.allowUnfree = true; # config.allowUnfree = true;
config.permittedInsecurePackages = [ # config.permittedInsecurePackages = [
# "electron-24.8.6" # # "electron-24.8.6"
]; # ];
}; # };
}; # };
# overlay-unstable-arm = final: prev: { # # overlay-unstable-arm = final: prev: {
# unstable = import nixpkgs-unstable { # # unstable = import nixpkgs-unstable {
# system = "aarch64-linux"; # # system = "aarch64-linux";
# config.allowUnfree = true; # # config.allowUnfree = true;
# # config.allowUnsupportedSystem = true; # # # config.allowUnsupportedSystem = true;
# }; # # };
# }; # # };
nixos-hw = nixos-hardware.nixosModules; # nixos-hw = nixos-hardware.nixosModules;
# nixos-rpi = nixos-raspberrypi.nixosModules; # # nixos-rpi = nixos-raspberrypi.nixosModules;
# overlay-home-manager = final: prev: { # # overlay-home-manager = final: prev: {
# hw = import home-manager; # # hw = import home-manager;
# }; # # };
in # in
{ {
nixosConfigurations = { nixosConfigurations = {
NOcomputer = nixos-system [ NOcomputer = nixpkgs.lib.nixosSystem {
({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; }) system = "x86_64-linux";
nixos-hw.common-cpu-amd config.allowUnfree = true;
nixos-hw.common-gpu-nvidia-nonprime modules = [
./systems/BASED.nix nixos-hardware.common-cpu-amd
./systems/NOcomputer.nix nixos-hardware.common-gpu-nvidia-nonprime
# home-manager.nixosModules.home-manager ./systems/BASED.nix
./users/tao.nix ./systems/NOcomputer.nix
./extras/uwuraid.nix # ./users/tao.nix
./extras/dev.nix home-manager.nixosModules.home-manager
./extras/gaming.nix {
]; home-manager.useGlobalPkgs = true;
NOlaptop = nixos-system [ home-manager.useUserPackages = true;
({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; }) home-manager.users.jdoe = import ./tao.nix;
nixos-hw.common-cpu-intel }
# inputs.nixos-hardware.nixosModules.framework ./extras/uwuraid.nix
./systems/BASED.nix ./extras/dev.nix
./systems/NOlaptop.nix ./extras/gaming.nix
./users/tao.nix ];
./extras/uwuraid.nix };
./extras/dev.nix NOlaptop = nixpkgs.lib.nixosSystem {
./extras/gaming.nix system = "x86_64-linux";
]; config.allowUnfree = true;
modules = [
# nixos-hw.common-cpu-intel
# # inputs.nixos-hardware.nixosModules.framework
# ./systems/BASED.nix
# ./systems/NOlaptop.nix
# ./users/tao.nix
# ./extras/uwuraid.nix
# ./extras/dev.nix
# ./extras/gaming.nix
];
};
# NOcomputer = nixos-system [
# ({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; })
# nixos-hw.common-cpu-amd
# nixos-hw.common-gpu-nvidia-nonprime
# ./systems/BASED.nix
# ./systems/NOcomputer.nix
# # home-manager.nixosModules.home-manager
# ./users/tao.nix
# ./extras/uwuraid.nix
# ./extras/dev.nix
# ./extras/gaming.nix
# ];
# NOlaptop = nixos-system [
# ({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; })
# nixos-hw.common-cpu-intel
# # inputs.nixos-hardware.nixosModules.framework
# ./systems/BASED.nix
# ./systems/NOlaptop.nix
# ./users/tao.nix
# ./extras/uwuraid.nix
# ./extras/dev.nix
# ./extras/gaming.nix
# ];
# NObangers = nixos-system [ # NObangers = nixos-system [
# # ({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable-arm ]; }) # # ({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable-arm ]; })
# nixos-hw.raspberry-pi-4 # nixos-hw.raspberry-pi-4