pureintent: vira!

This commit is contained in:
Sridhar Ratnakumar 2025-09-04 21:05:59 -04:00
parent db495ea282
commit ae259fa0a2
4 changed files with 415 additions and 6 deletions

View file

@ -11,6 +11,7 @@ in
self.nixosModules.default
./configuration.nix
./home-media.nix
(self + /modules/nixos/linux/vira.nix)
(self + /modules/nixos/linux/eternal-terminal.nix)
(self + /modules/nixos/shared/github-runner.nix)
];

411
flake.lock generated
View file

@ -36,6 +36,29 @@
"type": "github"
}
},
"co-log-effectful": {
"inputs": {
"devshell": "devshell",
"flake-parts": "flake-parts_5",
"haskell-flake": "haskell-flake",
"nixpkgs": "nixpkgs_7",
"pre-commit-hooks-nix": "pre-commit-hooks-nix",
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1738358259,
"narHash": "sha256-V+JiNh+GY4OC+uEp4AeX6wYMzsj5JJAqnrraXn1T8kg=",
"owner": "eldritch-cookie",
"repo": "co-log-effectful",
"rev": "be451264f0637804368fba1751ed7bc8606eefc6",
"type": "github"
},
"original": {
"owner": "eldritch-cookie",
"repo": "co-log-effectful",
"type": "github"
}
},
"crane": {
"locked": {
"lastModified": 1736566337,
@ -89,6 +112,28 @@
"type": "github"
}
},
"devshell": {
"inputs": {
"nixpkgs": [
"vira",
"co-log-effectful",
"nixpkgs"
]
},
"locked": {
"lastModified": 1735644329,
"narHash": "sha256-tO3HrHriyLvipc4xr+Ewtdlo7wM1OjXNjlWRgmM7peY=",
"owner": "numtide",
"repo": "devshell",
"rev": "f7795ede5b02664b57035b3b757876703e2c3eac",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "devshell",
"type": "github"
}
},
"disko": {
"inputs": {
"nixpkgs": [
@ -163,6 +208,22 @@
"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-parts": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
@ -241,6 +302,49 @@
"type": "github"
}
},
"flake-parts_5": {
"inputs": {
"nixpkgs-lib": [
"vira",
"co-log-effectful",
"nixpkgs"
]
},
"locked": {
"lastModified": 1736143030,
"narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_6": {
"inputs": {
"nixpkgs-lib": [
"vira",
"nixpkgs"
]
},
"locked": {
"lastModified": 1756770412,
"narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "4524271976b625a4a605beefd893f270620fd751",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": "systems_3"
@ -295,6 +399,21 @@
"type": "github"
}
},
"fourmolu-nix": {
"locked": {
"lastModified": 1707266073,
"narHash": "sha256-tCFzZQJicDdYjnuJiNK4hiiRAH7c2wQzMhOCdUMbVKE=",
"owner": "jedimahdi",
"repo": "fourmolu-nix",
"rev": "717f5a91b0d7b97b1be7ecc3a0fd42d37ffe1c9b",
"type": "github"
},
"original": {
"owner": "jedimahdi",
"repo": "fourmolu-nix",
"type": "github"
}
},
"git-hooks": {
"flake": false,
"locked": {
@ -327,6 +446,23 @@
"type": "github"
}
},
"git-hooks_3": {
"flake": false,
"locked": {
"lastModified": 1748731770,
"narHash": "sha256-++eAISyF3JzxbTBg3RnjVtB1Sgh1K5cTTDT2giG916Y=",
"owner": "bmrips",
"repo": "git-hooks.nix",
"rev": "6007ee9515d68f90df845e831456a646725a7288",
"type": "github"
},
"original": {
"owner": "bmrips",
"ref": "typos-improvements",
"repo": "git-hooks.nix",
"type": "github"
}
},
"github-nix-ci": {
"locked": {
"lastModified": 1728494632,
@ -342,6 +478,59 @@
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"vira",
"co-log-effectful",
"pre-commit-hooks-nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"haskell-flake": {
"locked": {
"lastModified": 1737903979,
"narHash": "sha256-NL9+FkAzmU/zVy7EQUj13s/+FjX2Mcz6ID7dW1j32Xg=",
"owner": "srid",
"repo": "haskell-flake",
"rev": "3bc6fe9793bf1239a335f9439f0be66c964df1a3",
"type": "github"
},
"original": {
"owner": "srid",
"repo": "haskell-flake",
"type": "github"
}
},
"haskell-flake_2": {
"locked": {
"lastModified": 1756607542,
"narHash": "sha256-+99fEAk0HwjYgIW2tEOs7ayBDxnU9NAM5E29ZxgyX40=",
"owner": "srid",
"repo": "haskell-flake",
"rev": "73e3891fb135c679a1c30fae4b101e5b41b8ca61",
"type": "github"
},
"original": {
"owner": "srid",
"repo": "haskell-flake",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
@ -383,6 +572,39 @@
"type": "github"
}
},
"htmx": {
"flake": false,
"locked": {
"lastModified": 1730661957,
"narHash": "sha256-ce3CVJVmY5240qyEt2W0Q3HUeMAKP6IQwxtIO+zDzAs=",
"owner": "JonathanLorimer",
"repo": "htmx",
"rev": "a9592b2627a75f522cd710d6bcfb7670a4a587dd",
"type": "github"
},
"original": {
"owner": "JonathanLorimer",
"repo": "htmx",
"type": "github"
}
},
"htmx-extensions": {
"flake": false,
"locked": {
"lastModified": 1740062719,
"narHash": "sha256-KW8ahQdu1pevghnKNL+Idie2o6TtKlUqwES2kpmqOVs=",
"owner": "juspay",
"repo": "htmx-extensions",
"rev": "0f7b0b569651c259af0fa81d78530f0f540d709b",
"type": "github"
},
"original": {
"owner": "juspay",
"ref": "sse-unload",
"repo": "htmx-extensions",
"type": "github"
}
},
"inspect": {
"flake": false,
"locked": {
@ -581,6 +803,21 @@
"type": "github"
}
},
"nixos-unified_2": {
"locked": {
"lastModified": 1754753812,
"narHash": "sha256-sYZLY+hsaMzz3gsYdwHA7conki3H8zSl43YH2xWnKBc=",
"owner": "srid",
"repo": "nixos-unified",
"rev": "4a5e3c33c6177237a27902d3fa4d845448d48e2b",
"type": "github"
},
"original": {
"owner": "srid",
"repo": "nixos-unified",
"type": "github"
}
},
"nixos-vscode-server": {
"inputs": {
"flake-utils": "flake-utils",
@ -616,6 +853,22 @@
"type": "github"
}
},
"nixpkgs-25-05": {
"locked": {
"lastModified": 1756999638,
"narHash": "sha256-R9wNXA8KT71zo/GeMdVgB3KoHj11h4eHa7woTLXMQVw=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "e7b7aee12245de9127b3af86ae049cccd490d7cb",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "release-25.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1725233747,
@ -734,6 +987,38 @@
"type": "github"
}
},
"nixpkgs_7": {
"locked": {
"lastModified": 1738264807,
"narHash": "sha256-6x6WLFwoLdR3w3FYtCnLye2Xe32SqsL7Zf0jpa5wJMM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "93f6e8d16bc5653505d0165ccec7b667690f7071",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "haskell-updates",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_8": {
"locked": {
"lastModified": 1756696532,
"narHash": "sha256-6FWagzm0b7I/IGigOv9pr6LL7NQ86mextfE8g8Q6HBg=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "58dcbf1ec551914c3756c267b8b9c8c86baa1b2f",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixvim": {
"inputs": {
"flake-parts": "flake-parts_2",
@ -831,6 +1116,45 @@
"type": "github"
}
},
"pre-commit-hooks-nix": {
"inputs": {
"flake-compat": "flake-compat",
"gitignore": "gitignore",
"nixpkgs": [
"vira",
"co-log-effectful",
"nixpkgs"
]
},
"locked": {
"lastModified": 1737465171,
"narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"type": "github"
}
},
"process-compose-flake": {
"locked": {
"lastModified": 1749418557,
"narHash": "sha256-wJHHckWz4Gvj8HXtM5WVJzSKXAEPvskQANVoRiu2w1w=",
"owner": "Platonic-Systems",
"repo": "process-compose-flake",
"rev": "91dcc48a6298e47e2441ec76df711f4e38eab94e",
"type": "github"
},
"original": {
"owner": "Platonic-Systems",
"repo": "process-compose-flake",
"type": "github"
}
},
"root": {
"inputs": {
"agenix": "agenix",
@ -851,7 +1175,8 @@
"nuenv": "nuenv",
"omnix": "omnix",
"try": "try",
"vertex": "vertex"
"vertex": "vertex",
"vira": "vira"
}
},
"rust-flake": {
@ -921,6 +1246,22 @@
"type": "github"
}
},
"servant-event-stream": {
"flake": false,
"locked": {
"lastModified": 1755782458,
"narHash": "sha256-odwdQHMQjwo3np2BH9rNoKLpkdkkInocSbzv/naTH/U=",
"owner": "bflyblue",
"repo": "servant-event-stream",
"rev": "4bd039405c864076407a2b4f1ffe99e29496e942",
"type": "github"
},
"original": {
"owner": "bflyblue",
"repo": "servant-event-stream",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
@ -1026,6 +1367,44 @@
"type": "github"
}
},
"tabler-icons-hs": {
"flake": false,
"locked": {
"lastModified": 1756335210,
"narHash": "sha256-NVOfzoJ792fE6NOlmkbOVRBaEInyujA3dl8sEiydUbg=",
"owner": "juspay",
"repo": "tabler-icons-hs",
"rev": "405c85321d4a9de87f0cea218aa75c5fe5969116",
"type": "github"
},
"original": {
"owner": "juspay",
"repo": "tabler-icons-hs",
"type": "github"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"vira",
"co-log-effectful",
"nixpkgs"
]
},
"locked": {
"lastModified": 1738070913,
"narHash": "sha256-j6jC12vCFsTGDmY2u1H12lMr62fnclNjuCtAdF1a4Nk=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "bebf27d00f7d10ba75332a0541ac43676985dea3",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
},
"true": {
"locked": {
"lastModified": 1657739253,
@ -1082,6 +1461,36 @@
"repo": "vertex",
"type": "github"
}
},
"vira": {
"inputs": {
"co-log-effectful": "co-log-effectful",
"flake-parts": "flake-parts_6",
"fourmolu-nix": "fourmolu-nix",
"git-hooks": "git-hooks_3",
"haskell-flake": "haskell-flake_2",
"htmx": "htmx",
"htmx-extensions": "htmx-extensions",
"nixos-unified": "nixos-unified_2",
"nixpkgs": "nixpkgs_8",
"nixpkgs-25-05": "nixpkgs-25-05",
"process-compose-flake": "process-compose-flake",
"servant-event-stream": "servant-event-stream",
"tabler-icons-hs": "tabler-icons-hs"
},
"locked": {
"lastModified": 1757034328,
"narHash": "sha256-7pnWkaUaXMRnqZh9X53yo3iIttDmVVu+kvOuFsM84zE=",
"owner": "juspay",
"repo": "vira",
"rev": "fecf73e240cb9661eb4ad745fc731a957197ca6f",
"type": "github"
},
"original": {
"owner": "juspay",
"repo": "vira",
"type": "github"
}
}
},
"root": "root",

View file

@ -30,6 +30,7 @@
flake-parts.follows = "flake-parts";
};
try.url = "github:tobi/try";
vira.url = "github:juspay/vira";
# Neovim
nixvim.url = "github:nix-community/nixvim";

View file

@ -10,14 +10,12 @@ in
services.vira = {
enable = true;
# Basic configuration
hostname = "0.0.0.0";
port = 5001;
https = false;
stateDirectory = "/var/lib/vira";
https = true;
stateDir = "/var/lib/vira";
openFirewall = true;
package = inputs.vira.packages.${pkgs.system}.default;
};
networking.firewall.allowedTCPPorts = [ 5001 ];
}