flake.nix

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

128
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.permittedInsecurePackages = [
# "electron-24.8.6"
];
};
};
# overlay-unstable-arm = final: prev: {
# unstable = import nixpkgs-unstable {
# system = "aarch64-linux";
# config.allowUnfree = true; # config.allowUnfree = true;
# # config.allowUnsupportedSystem = true; # config.permittedInsecurePackages = [
# # "electron-24.8.6"
# ];
# }; # };
# }; # };
nixos-hw = nixos-hardware.nixosModules; # # overlay-unstable-arm = final: prev: {
# nixos-rpi = nixos-raspberrypi.nixosModules; # # unstable = import nixpkgs-unstable {
# overlay-home-manager = final: prev: { # # system = "aarch64-linux";
# hw = import home-manager; # # config.allowUnfree = true;
# }; # # # config.allowUnsupportedSystem = true;
in # # };
# # };
# nixos-hw = nixos-hardware.nixosModules;
# # nixos-rpi = nixos-raspberrypi.nixosModules;
# # overlay-home-manager = final: prev: {
# # hw = import home-manager;
# # };
# 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 = [
nixos-hardware.common-cpu-amd
nixos-hardware.common-gpu-nvidia-nonprime
./systems/BASED.nix ./systems/BASED.nix
./systems/NOcomputer.nix ./systems/NOcomputer.nix
# home-manager.nixosModules.home-manager # ./users/tao.nix
./users/tao.nix home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.jdoe = import ./tao.nix;
}
./extras/uwuraid.nix ./extras/uwuraid.nix
./extras/dev.nix ./extras/dev.nix
./extras/gaming.nix ./extras/gaming.nix
]; ];
NOlaptop = nixos-system [ };
({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; }) NOlaptop = nixpkgs.lib.nixosSystem {
nixos-hw.common-cpu-intel system = "x86_64-linux";
# inputs.nixos-hardware.nixosModules.framework config.allowUnfree = true;
./systems/BASED.nix modules = [
./systems/NOlaptop.nix # nixos-hw.common-cpu-intel
./users/tao.nix # # 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
# ./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