{ description = "Flake config, _heavily_ influenced by fufexan's"; outputs = inputs: inputs.flake-parts.lib.mkFlake {inherit inputs;} { systems = ["x86_64-linux"]; imports = [ ./home ./hosts ]; perSystem = {pkgs, ...}: { devShells = import ./system/nix/shell {inherit pkgs inputs;}; formatter = pkgs.alejandra; packages.cleanup-boot = pkgs.buildFHSUserEnv { name = "cleanup-boot"; targetPkgs = pkgs: [pkgs.bash]; runScript = ./.scripts/cleanup-boot.sh; }; }; }; inputs = { # Nix environment nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-small.url = "github:NixOS/nixpkgs/nixos-unstable-small"; systems.url = "github:nix-systems/default-linux"; hardware.url = "github:nixos/nixos-hardware"; lanzaboote.url = "github:nix-community/lanzaboote"; nixpak = { url = "github:nixpak/nixpak"; inputs = { nixpkgs.follows = "nixpkgs-small"; flake-parts.follows = "flake-parts"; }; }; flake-utils = { url = "github:numtide/flake-utils"; inputs.systems.follows = "systems"; }; flake-compat.url = "github:edolstra/flake-compat"; hm = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; flake-parts = { url = "github:hercules-ci/flake-parts"; inputs.nixpkgs-lib.follows = "nixpkgs"; }; # Hyprland environment hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; hyprland-contrib = { url = "github:hyprwm/contrib"; inputs.nixpkgs.follows = "hyprland/nixpkgs"; }; hyprlock = { url = "github:hyprwm/hyprlock"; inputs = { hyprlang.follows = "hyprland/hyprlang"; hyprutils.follows = "hyprland/hyprutils"; nixpkgs.follows = "hyprland/nixpkgs"; systems.follows = "hyprland/systems"; }; }; hypridle = { url = "github:hyprwm/hypridle"; inputs = { hyprlang.follows = "hyprland/hyprlang"; hyprutils.follows = "hyprland/hyprutils"; nixpkgs.follows = "hyprland/nixpkgs"; systems.follows = "hyprland/systems"; }; }; hyprpaper = { url = "github:hyprwm/hyprpaper"; inputs = { hyprlang.follows = "hyprland/hyprlang"; hyprutils.follows = "hyprland/hyprutils"; nixpkgs.follows = "hyprland/nixpkgs"; systems.follows = "hyprland/systems"; }; }; # Cachyos chaotic.url = "https://flakehub.com/f/chaotic-cx/nyx/*.tar.gz"; # Miscellaneous helix.url = "github:SoraTenshi/helix/new-daily-driver"; helix-flake.url = "github:helix-editor/helix"; nix-gaming = { url = "github:fufexan/nix-gaming"; inputs = { nixpkgs.follows = "nixpkgs"; flake-parts.follows = "flake-parts"; }; }; firefox-nightly = { url = "github:nix-community/flake-firefox-nightly"; inputs.nixpkgs.follows = "nixpkgs"; }; firefox-addons = { url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; inputs.nixpkgs.follows = "nixpkgs"; }; anyrun.url = "github:anyrun-org/anyrun"; microfetch.url = "github:NotAShelf/microfetch"; agenix.url = "github:ryantm/agenix"; # Rust toolchain fenix = { url = "github:nix-community/fenix"; inputs.nixpkgs.follows = "nixpkgs"; }; wezterm = { url = "github:wez/wezterm/main?dir=nix"; inputs.nixpkgs.follows = "nixpkgs"; }; }; }