From 0c97aa24619738f1fdf8359b01ed5f3296fa734c Mon Sep 17 00:00:00 2001 From: Meinhardt Date: Tue, 27 Feb 2024 11:30:54 +0100 Subject: [PATCH] feat(maakaron): init system --- flake.nix | 26 +++++++++++++++++++++++++- systems/maakaron/home.nix | 29 +++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 systems/maakaron/home.nix diff --git a/flake.nix b/flake.nix index 0cb0abd..612a9aa 100644 --- a/flake.nix +++ b/flake.nix @@ -70,6 +70,16 @@ }: { apps = { + x86_64-darwin = let + pkgs = nixpkgs.legacyPackages.x86_64-darwin; + in { + deploy-maakaron = { + type = "app"; + program = toString (pkgs.writers.writeDash "deploy-maakaron" '' + exec $(nix build .#homeConfigurations.maakaron.activationPackage --no-link --print-out-paths)/activate + ''); + }; + }; x86_64-linux = let pkgs = nixpkgs.legacyPackages.x86_64-linux; lib = nixpkgs.lib; @@ -141,6 +151,20 @@ }; }; + homeConfigurations = { + maakaron = let + system = "x86_64-darwin"; + pkgs = nixpkgs.legacyPackages.${system}; + in home-manager.lib.homeManagerConfiguration { + inherit pkgs; + modules = [ ./systems/maakaron/home.nix ]; + extraSpecialArgs = { + inherit inputs; + niveumPackages = inputs.self.packages.${system}; + }; + }; + }; + nixosConfigurations = let niveumSpecialArgs = system: { unstablePackages = import nixpkgs-unstable { @@ -243,7 +267,7 @@ }; }; } - // flake-utils.lib.eachSystem [flake-utils.lib.system.x86_64-linux flake-utils.lib.system.aarch64-linux] (system: let + // flake-utils.lib.eachSystem [flake-utils.lib.system.x86_64-linux flake-utils.lib.system.x86_64-darwin flake-utils.lib.system.aarch64-linux] (system: let pkgs = import nixpkgs { inherit system; overlays = [ diff --git a/systems/maakaron/home.nix b/systems/maakaron/home.nix new file mode 100644 index 0000000..5fac062 --- /dev/null +++ b/systems/maakaron/home.nix @@ -0,0 +1,29 @@ +{ config, pkgs, inputs, niveumPackages, ... }: +let + nextcloud = "${config.home.homeDirectory}/Nextcloud/ZODIAC"; + timeLedger = "${nextcloud}/hora.timeclock"; +in +{ + home.packages = [ + pkgs.git + (pkgs.writers.writeDashBin "hora" '' + ${pkgs.hledger}/bin/hledger -f "${timeLedger}" "$@" + '') + (pkgs.writers.writeDashBin "hora-edit" '' + nvim + "${timeLedger}" + '') + niveumPackages.vim + ]; + + home.sessionVariables.EDITOR = "${niveumPackages.vim}/bin/nvim"; + home.file."Local Applications".source = pkgs.symlinkJoin { + name = "local-applications"; + paths = [ pkgs.anki-bin pkgs.dbeaver pkgs.vscode pkgs.mpv ]; + }; + home.stateVersion = "23.11"; + home.username = "xm7234fu"; + home.homeDirectory = "/Users/${config.home.username}"; + nixpkgs.config.allowUnfree = true; + nix.package = pkgs.nixFlakes; + nix.extraOptions = "experimental-features = nix-command flakes"; +} \ No newline at end of file