This repository has no description
README.org
#+TITLE: Flake configuration
#+AUTHOR: Tulkdan
#+EMAIL: pedro8correa@gmail.com

#+begin_src nix :tangle flake.nix :noweb yes
  {
    <<description>>

    inputs = {
      <<inputs>>
    };

    outputs = { self, nixpkgs, home-manager, niri, micasa, ... }@inputs: let
      system = "x86_64-linux";
      hostname = "nixos";
      stateVersion = "25.11";
      pkgs = import nixpkgs {
        inherit system;
      };
      users = {
        pedro = {
          username = "pedro";
        };
      };
    in {
      <<outputs>>
    };
  }
#+end_src

** Description
#+NAME: description
#+begin_src nix
  description = "Tulk'dan's system config";
#+end_src

** Inputs
:PROPERTIES:
:header-args: :noweb-ref inputs
:END:

*** Nixpkgs

#+begin_src nix
  nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
#+end_src

*** Home Manager
#+begin_src nix
  home-manager = {
    url = "github:nix-community/home-manager";
    inputs.nixpkgs.follows = "nixpkgs";
  };
#+end_src

*** Niri
#+begin_src nix
  niri.url = "github:sodiboo/niri-flake";
#+end_src

*** AGR
#+begin_src nix
  ags.url = "github:Aylur/ags";
#+end_src

*** [[https://micasa.dev][Micasa]]
#+begin_src nix
  micasa.url = "github:cpcloud/micasa";
#+end_src

** Outputs
:PROPERTIES:
:header-args: :noweb-ref outputs
:END:

*** Formatter
#+begin_src nix
    formatter.x86_64-linux = pkgs.alejandra;
#+end_src

*** NixOS System
#+begin_src nix
  nixosConfigurations = {
    ${hostname} = nixpkgs.lib.nixosSystem {
      inherit system;

      modules =
        [
          niri.nixosModules.niri
          ({pkgs, ...}: {
            nixpkgs.overlays = [niri.overlays.niri];
            programs.niri.package = pkgs.niri-unstable;
            # programs.niri.package = pkgs.niri-stable;
            # programs.niri.package = pkgs.niri-unstable.override {src = niri-working-tree;};
            environment.variables.NIXOS_OZONE_WL = "1";
            environment.systemPackages = with pkgs; [
              wl-clipboard
              wayland-utils
              libsecret
              cage
            ];
          })

          home-manager.nixosModules.home-manager
          {
            home-manager = {
              useUserPackages = true;
              extraSpecialArgs = inputs;
            };
          }
          ./hosts/desktop
        ];
    };
  };
#+end_src

*** Home Manager

**** Personal
#+begin_src nix
  homeConfigurations = {
    pedro = home-manager.lib.homeManagerConfiguration {
      inherit pkgs;
      extraSpecialArgs = {
        inherit stateVersion;
        inherit inputs;
        username = users.pedro.username;
      };
      modules = [
        ./home
        ./home/personal.nix
      ];
    };
  };
#+end_src