From defd500a2bacf58121e2999128cc39677b46ee5c Mon Sep 17 00:00:00 2001 From: Zynh Ludwig Date: Wed, 31 Jul 2024 16:12:48 -0700 Subject: [PATCH] init --- flake.lock | 27 +++++++++++++++++++++++++++ flake.nix | 11 +++++++++++ module.nix | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 74 insertions(+) create mode 100644 flake.lock create mode 100644 flake.nix create mode 100644 module.nix diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..7adbffd --- /dev/null +++ b/flake.lock @@ -0,0 +1,27 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1722185531, + "narHash": "sha256-veKR07psFoJjINLC8RK4DiLniGGMgF3QMlS4tb74S6k=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "52ec9ac3b12395ad677e8b62106f0b98c1f8569d", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..caa9df9 --- /dev/null +++ b/flake.nix @@ -0,0 +1,11 @@ +{ + description = "A very basic flake"; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; + }; + + outputs = { ... }@inputs: { + homeManagerModule = import ./module.nix; + }; +} diff --git a/module.nix b/module.nix new file mode 100644 index 0000000..44aa819 --- /dev/null +++ b/module.nix @@ -0,0 +1,36 @@ +{ lib, config, ... }: + +let + cfg = config.repo-clone; +in +{ + options.repo-clone = { + enable = lib.mkEnableOption "repo-clone service"; + }; + + + # /nix/store/pxd7wc8icz577hpl6pmz02b74nhbrj6h-unit-home-manager-ravenshade.service/home-manager-ravenshade.service + config = lib.mkIf cfg.enable { + system.user.services.repo-clone = { + Unit = { + Description = "repo-clone service"; + Before = [ "systemd-user-sessions.service" ]; + }; + Service = { + Type = "exec"; + ExecStart = + let + execName = "repo-clone"; + script = lib.writeShellScriptBin execName '' + echo "hello!" + ''; + in + "${script}/bin/${execName}"; + RemainAfterExit = "yes"; + }; + Install = { + WantedBy = [ "multi-user.target" ]; + }; + }; + }; +}