aboutsummaryrefslogtreecommitdiff
path: root/.vim/snippets
diff options
context:
space:
mode:
Diffstat (limited to '.vim/snippets')
-rw-r--r--.vim/snippets/module.nix40
-rw-r--r--.vim/snippets/package.nix27
-rw-r--r--.vim/snippets/shell.nix22
-rw-r--r--.vim/snippets/skeleton.awk1
-rw-r--r--.vim/snippets/skeleton.html5
5 files changed, 94 insertions, 1 deletions
diff --git a/.vim/snippets/module.nix b/.vim/snippets/module.nix
index 8debed4..bc9d52e 100644
--- a/.vim/snippets/module.nix
+++ b/.vim/snippets/module.nix
@@ -4,15 +4,53 @@ let
service = "";
cfg = config.services.${service};
+ settings = pkgs.formats.json { };
in {
options.services.${service} = {
+
enable = lib.mkOption {
type = lib.types.bool;
default = false;
};
+
+ user = lib.mkOption {
+ type = lib.types.str;
+ default = service;
+ };
+
+ group = lib.mkOption {
+ type = lib.types.str;
+ default = service;
+ };
+
+ directory = lib.mkOption {
+ type = lib.types.str;
+ default = "/var/empty";
+ };
+
+ settings = lib.mkOption {
+ type = settings.type;
+ default = { };
+ };
};
- config = lib.mkIf cfg.enable { };
+ config = lib.mkIf cfg.enable {
+
+ services.${service}.settings = { };
+
+ users = {
+ groups.${cfg.user} = { gid = 9999; };
+ users.${cfg.group} = {
+ uid = 9999;
+ shell = pkgs.shadow;
+ home = cfg.directory;
+ group = cfg.group;
+ createHome = true;
+ isSystemUser = true;
+ };
+ };
+
+ };
}
diff --git a/.vim/snippets/package.nix b/.vim/snippets/package.nix
new file mode 100644
index 0000000..31cb944
--- /dev/null
+++ b/.vim/snippets/package.nix
@@ -0,0 +1,27 @@
+{ lib, stdenv, fetchgit }:
+
+stdenv.mkDerivation rec {
+ pname = "";
+ version = "";
+
+ src = fetchgit {
+ rev = version;
+ url = "";
+ sha256 = "";
+ };
+
+ dontBuild = true;
+
+ installPhase = ''
+ runHook preInstall
+ mkdir "$out"
+ runHook postInstall
+ '';
+
+ meta = {
+ homepage = "";
+ description = "";
+ license = lib.licenses.mit;
+ platforms = lib.platforms.linux;
+ };
+}
diff --git a/.vim/snippets/shell.nix b/.vim/snippets/shell.nix
new file mode 100644
index 0000000..2e58365
--- /dev/null
+++ b/.vim/snippets/shell.nix
@@ -0,0 +1,22 @@
+let
+
+ name = "nix-shell.pure";
+ pkgs = import <nixpkgs> { };
+
+ shell = pkgs.writeShellApplication {
+ inherit name;
+ text = ''
+ /usr/bin/env --ignore-environment /bin/sh -c ${
+ pkgs.writeScript name ''
+ export PS1='\h (${name}) \W \$ '
+ export PATH=${pkgs.lib.strings.makeBinPath [ pkgs.busybox ]}
+ /bin/sh
+ ''
+ };
+ '';
+ };
+
+in pkgs.mkShell {
+ inherit name;
+ shellHook = "exec ${shell}/bin/${shell.name}";
+}
diff --git a/.vim/snippets/skeleton.awk b/.vim/snippets/skeleton.awk
new file mode 100644
index 0000000..528ca97
--- /dev/null
+++ b/.vim/snippets/skeleton.awk
@@ -0,0 +1 @@
+#!/usr/bin/env -S awk -f
diff --git a/.vim/snippets/skeleton.html b/.vim/snippets/skeleton.html
index 38d16cc..8099090 100644
--- a/.vim/snippets/skeleton.html
+++ b/.vim/snippets/skeleton.html
@@ -2,6 +2,11 @@
<html>
<head>
<title></title>
+ <meta charset="utf-8" />
+ <meta
+ name="viewport"
+ content="width=device-width, initial-scale=1"
+ />
</head>
<body>
</body>