Init devenv
This commit is contained in:
		
							parent
							
								
									a20643bfc1
								
							
						
					
					
						commit
						a4dd2d39fd
					
				| 
						 | 
					@ -0,0 +1,3 @@
 | 
				
			||||||
 | 
					source_url "https://raw.githubusercontent.com/cachix/devenv/d1f7b48e35e6dee421cfd0f51481d17f77586997/direnvrc" "sha256-YBzqskFZxmNb3kYVoKD9ZixoPXJh1C9ZvTLGFRkauZ0="
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use devenv
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,11 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Devenv
 | 
				
			||||||
 | 
					.devenv*
 | 
				
			||||||
 | 
					devenv.local.nix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# direnv
 | 
				
			||||||
 | 
					.direnv
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# pre-commit
 | 
				
			||||||
 | 
					.pre-commit-config.yaml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,156 @@
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  "nodes": {
 | 
				
			||||||
 | 
					    "devenv": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "dir": "src/modules",
 | 
				
			||||||
 | 
					        "lastModified": 1709300857,
 | 
				
			||||||
 | 
					        "narHash": "sha256-jkK99RiSt5YfLWj3kAQoB8OB3idxLTdT9kfo/wILbjw=",
 | 
				
			||||||
 | 
					        "owner": "cachix",
 | 
				
			||||||
 | 
					        "repo": "devenv",
 | 
				
			||||||
 | 
					        "rev": "f0319af4f966fb8bc25c6429f4f2e097e79116c2",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "dir": "src/modules",
 | 
				
			||||||
 | 
					        "owner": "cachix",
 | 
				
			||||||
 | 
					        "repo": "devenv",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "flake-compat": {
 | 
				
			||||||
 | 
					      "flake": false,
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1696426674,
 | 
				
			||||||
 | 
					        "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
 | 
				
			||||||
 | 
					        "owner": "edolstra",
 | 
				
			||||||
 | 
					        "repo": "flake-compat",
 | 
				
			||||||
 | 
					        "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "edolstra",
 | 
				
			||||||
 | 
					        "repo": "flake-compat",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "flake-utils": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "systems": "systems"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1701680307,
 | 
				
			||||||
 | 
					        "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
 | 
				
			||||||
 | 
					        "owner": "numtide",
 | 
				
			||||||
 | 
					        "repo": "flake-utils",
 | 
				
			||||||
 | 
					        "rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "numtide",
 | 
				
			||||||
 | 
					        "repo": "flake-utils",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "gitignore": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "nixpkgs": [
 | 
				
			||||||
 | 
					          "pre-commit-hooks",
 | 
				
			||||||
 | 
					          "nixpkgs"
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1703887061,
 | 
				
			||||||
 | 
					        "narHash": "sha256-gGPa9qWNc6eCXT/+Z5/zMkyYOuRZqeFZBDbopNZQkuY=",
 | 
				
			||||||
 | 
					        "owner": "hercules-ci",
 | 
				
			||||||
 | 
					        "repo": "gitignore.nix",
 | 
				
			||||||
 | 
					        "rev": "43e1aa1308018f37118e34d3a9cb4f5e75dc11d5",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "hercules-ci",
 | 
				
			||||||
 | 
					        "repo": "gitignore.nix",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nixpkgs": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1709386671,
 | 
				
			||||||
 | 
					        "narHash": "sha256-VPqfBnIJ+cfa78pd4Y5Cr6sOWVW8GYHRVucxJGmRf8Q=",
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "rev": "fa9a51752f1b5de583ad5213eb621be071806663",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "ref": "nixpkgs-unstable",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nixpkgs-stable": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1704874635,
 | 
				
			||||||
 | 
					        "narHash": "sha256-YWuCrtsty5vVZvu+7BchAxmcYzTMfolSPP5io8+WYCg=",
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "rev": "3dc440faeee9e889fe2d1b4d25ad0f430d449356",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "ref": "nixos-23.11",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "pre-commit-hooks": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "flake-compat": "flake-compat",
 | 
				
			||||||
 | 
					        "flake-utils": "flake-utils",
 | 
				
			||||||
 | 
					        "gitignore": "gitignore",
 | 
				
			||||||
 | 
					        "nixpkgs": [
 | 
				
			||||||
 | 
					          "nixpkgs"
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "nixpkgs-stable": "nixpkgs-stable"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1708018599,
 | 
				
			||||||
 | 
					        "narHash": "sha256-M+Ng6+SePmA8g06CmUZWi1AjG2tFBX9WCXElBHEKnyM=",
 | 
				
			||||||
 | 
					        "owner": "cachix",
 | 
				
			||||||
 | 
					        "repo": "pre-commit-hooks.nix",
 | 
				
			||||||
 | 
					        "rev": "5df5a70ad7575f6601d91f0efec95dd9bc619431",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "cachix",
 | 
				
			||||||
 | 
					        "repo": "pre-commit-hooks.nix",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "root": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "devenv": "devenv",
 | 
				
			||||||
 | 
					        "nixpkgs": "nixpkgs",
 | 
				
			||||||
 | 
					        "pre-commit-hooks": "pre-commit-hooks"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "systems": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1681028828,
 | 
				
			||||||
 | 
					        "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
 | 
				
			||||||
 | 
					        "owner": "nix-systems",
 | 
				
			||||||
 | 
					        "repo": "default",
 | 
				
			||||||
 | 
					        "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "nix-systems",
 | 
				
			||||||
 | 
					        "repo": "default",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "root": "root",
 | 
				
			||||||
 | 
					  "version": 7
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,49 @@
 | 
				
			||||||
 | 
					{ pkgs, ... }:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  # https://devenv.sh/basics/
 | 
				
			||||||
 | 
					  env.PROJECT_NAME = "go-twitch";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  env.MOCK_DATA_PATH = "~/.config/twitch-cli/eventCache.db";
 | 
				
			||||||
 | 
					  env.MOCK_API_PORT = "3000";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # https://devenv.sh/packages/
 | 
				
			||||||
 | 
					  packages = with pkgs; [
 | 
				
			||||||
 | 
					    git
 | 
				
			||||||
 | 
					    twitch-cli
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # https://devenv.sh/scripts/
 | 
				
			||||||
 | 
					  scripts = {
 | 
				
			||||||
 | 
					    welcome-banner.exec = ''
 | 
				
			||||||
 | 
					      echo "Welcome to the $PROJECT_NAME development environment."
 | 
				
			||||||
 | 
					      echo "Golang version: $(go version | cut -d ' ' -f 3)"
 | 
				
			||||||
 | 
					    '';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    gen-mock-data.exec = "twitch-cli mock-api generate";
 | 
				
			||||||
 | 
					    rm-mock-data.exec = "rm $MOCK_DATA_PATH";
 | 
				
			||||||
 | 
					    start-mock-api.exec = "twitch-cli mock-api start -p $MOCK_API_PORT";
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  enterShell = "welcome-banner";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # https://devenv.sh/languages/
 | 
				
			||||||
 | 
					  languages = {
 | 
				
			||||||
 | 
					    nix.enable = true;
 | 
				
			||||||
 | 
					    go.enable = true;
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # https://devenv.sh/pre-commit-hooks/
 | 
				
			||||||
 | 
					  # pre-commit.hooks.shellcheck.enable = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # https://devenv.sh/processes/
 | 
				
			||||||
 | 
					  # processes.ping.exec = "ping example.com";
 | 
				
			||||||
 | 
					  process.before = ''
 | 
				
			||||||
 | 
					    if [ ! -f $MOCK_DATA_PATH ]; then
 | 
				
			||||||
 | 
					      gen-mock-data
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					  '';
 | 
				
			||||||
 | 
					  processes.mock-api.exec = "start-mock-api";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # See full reference at https://devenv.sh/reference/options/
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,3 @@
 | 
				
			||||||
 | 
					inputs:
 | 
				
			||||||
 | 
					  nixpkgs:
 | 
				
			||||||
 | 
					    url: github:NixOS/nixpkgs/nixpkgs-unstable
 | 
				
			||||||
		Loading…
	
		Reference in New Issue