{ description = "Launchpad flake"; inputs = { # Switched to unstable 10/13/24 Generation 109 and below stable nixpkgs-unstable.url = "github:nixos/nixpkgs?ref=nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; legacy.url = "github:NixOS/nixpkgs-channels"; # Home manager home-manager.url = "github:nix-community/home-manager/release-24.05"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; flake-utils.url = "github:numtide/flake-utils"; flake-compat = { url = "github:edolstra/flake-compat"; flake = false; }; base16.url = "github:SenchoPens/base16.nix"; nix-colors.url = "github:misterio77/nix-colors"; tt-schemes = { url = "github:tinted-theming/schemes"; flake = false; }; base16-vim = { url = "github:tinted-theming/base16-vim"; flake = false; }; # Zen Browser # zen-browser.url = "github:MarceColl/zen-browser-flake"; zen-browser.url = "github:mastermines1/zen-browser-flake"; # hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; # hyprland.url = "github:hyprwm/Hyprland"; # GnuCobal.url="/home/wayne/Flakes/derivations/GnuCobal/"; # kmonad = { # url = "git+https://github.com/kmonad/kmonad?submodules=1&dir=nix"; # inputs.nixpkgs.follows = "nixpkgs"; # }; }; outputs = { self, nixpkgs, legacy, home-manager, flake-utils, flake-compat, zen-browser, nix-colors, base16, ... } @ inputs: let inherit (self) outputs; lib = nixpkgs.lib; # Import lib here explicitly from nixpkgs systems = [ "aarch64-linux" "i686-linux" "x86_64-linux" "aarch64-darwin" "x86_64-darwin" ]; systemSettings = { hostname = "launchpad"; profile = "Professional"; timezone = "America/Los_Angeles"; locale = "en_US.UTF-8"; gpuType = "nvidia"; version = "24.05"; }; userSettings = { username = "wayne"; name = "wayne"; email = "..."; dotfilesDir = "~/.dotfiles"; term = "tmux"; font = "JetBrainsMono Nerd Font"; editor = "lvim"; # Default editor; }; forAllSystems = nixpkgs.lib.genAttrs systems; in { packages = forAllSystems (system: nixpkgs.legacyPackages.${system}); formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.alejandra); nixosConfigurations = { launchpad = nixpkgs.lib.nixosSystem { specialArgs = {inherit inputs outputs systemSettings userSettings lib ;}; modules = [ # kmonad.nixosModules.default ./configuration.nix ]; }; }; homeConfigurations = { wayne = home-manager.lib.homeManagerConfiguration { # pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instance pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instance extraSpecialArgs = {inherit inputs outputs systemSettings userSettings zen-browser nix-colors ;}; modules = [ base16.nixosModule # set system's scheme to nord by setting `config.scheme` { scheme = "${inputs.tt-schemes}/base16/nord.yaml"; } # import `theming.nix`, we will write it in the next, final, step # ./theming.nix ./hm/home.nix ]; }; }; }; }