Compare commits

..

No commits in common. "5e254c53549e69974dee0377c6dde4cf0695b761" and "45e713943c80a589bd7456ce5f95f7bf552978ff" have entirely different histories.

9 changed files with 332 additions and 20 deletions

246
flake.lock generated
View file

@ -78,11 +78,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1745502102, "lastModified": 1745369821,
"narHash": "sha256-LqhRwzvIVPEjH0TaPgwzqpyhW6DtCrvz7FnUJDoUZh8=", "narHash": "sha256-mi6cAjuBztm9gFfpiVo6mAn81cCID6nmDXh5Kmyjwyc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "ca27b88c88948d96feeee9ed814cbd34f53d0d70", "rev": "c5140c6079ff690e85eac0b86e254de16a79a4b7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -215,6 +215,63 @@
"type": "github" "type": "github"
} }
}, },
"flake-parts_4": {
"inputs": {
"nixpkgs-lib": [
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1743550720,
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "c621e8422220273271f52058f618c94e405bb0f5",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"inputs": {
"systems": "systems_3"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -222,11 +279,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1745494811, "lastModified": 1745421701,
"narHash": "sha256-YZCh2o9Ua1n9uCvrvi5pRxtuVNml8X2a03qIFfRKpFs=", "narHash": "sha256-mZoVHMwj8uF1nnd8nHGzcTzTcVNApymIoo4NemJjnzU=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "abfad3d2958c9e6300a883bd443512c55dfeb1be", "rev": "b7527e2daf755437a2948f09761a8ed07debd075",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -250,6 +307,60 @@
"type": "github" "type": "github"
} }
}, },
"ixx": {
"inputs": {
"flake-utils": [
"nixvim",
"nuschtosSearch",
"flake-utils"
],
"nixpkgs": [
"nixvim",
"nuschtosSearch",
"nixpkgs"
]
},
"locked": {
"lastModified": 1737371634,
"narHash": "sha256-fTVAWzT1UMm1lT+YxHuVPtH+DATrhYfea3B0MxG/cGw=",
"owner": "NuschtOS",
"repo": "ixx",
"rev": "a1176e2a10ce745ff8f63e4af124ece8fe0b1648",
"type": "github"
},
"original": {
"owner": "NuschtOS",
"ref": "v0.0.7",
"repo": "ixx",
"type": "github"
}
},
"ixx_2": {
"inputs": {
"flake-utils": [
"nuschtos",
"flake-utils"
],
"nixpkgs": [
"nuschtos",
"nixpkgs"
]
},
"locked": {
"lastModified": 1737371634,
"narHash": "sha256-fTVAWzT1UMm1lT+YxHuVPtH+DATrhYfea3B0MxG/cGw=",
"owner": "NuschtOS",
"repo": "ixx",
"rev": "a1176e2a10ce745ff8f63e4af124ece8fe0b1648",
"type": "github"
},
"original": {
"owner": "NuschtOS",
"ref": "v0.0.7",
"repo": "ixx",
"type": "github"
}
},
"nether": { "nether": {
"inputs": { "inputs": {
"clan-core": "clan-core", "clan-core": "clan-core",
@ -288,11 +399,11 @@
"treefmt-nix": "treefmt-nix_3" "treefmt-nix": "treefmt-nix_3"
}, },
"locked": { "locked": {
"lastModified": 1745505025, "lastModified": 1745120626,
"narHash": "sha256-F9IekLaLYVG/UNUiaN194qu0n1pOgeqjGkD1l5OVEgM=", "narHash": "sha256-MqAi9oR5iaPbevV7B7WJWpFQaMloeHYQSX/lVL2XI7g=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixos-anywhere", "repo": "nixos-anywhere",
"rev": "edf1adb89307f921575b5fcd0c6bb4e684fbd38b", "rev": "736734245b9d386d3323acc97f46f585ff273bae",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -334,11 +445,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1745503349, "lastModified": 1745392233,
"narHash": "sha256-bUGjvaPVsOfQeTz9/rLTNLDyqbzhl0CQtJJlhFPhIYw=", "narHash": "sha256-xmqG4MZArM1JNxPJ33s0MtuBzgnaCO9laARoU3AfP8E=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "f7bee55a5e551bd8e7b5b82c9bc559bc50d868d1", "rev": "8bf8a2a0822365bd8f44fd1a19d7ed0a1d629d64",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -390,11 +501,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1745391562, "lastModified": 1745234285,
"narHash": "sha256-sPwcCYuiEopaafePqlG826tBhctuJsLx/mhKKM5Fmjo=", "narHash": "sha256-GfpyMzxwkfgRVN0cTGQSkTC0OHhEkv3Jf6Tcjm//qZ0=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "8a2f738d9d1f1d986b5a4cd2fd2061a7127237d7", "rev": "c11863f1e964833214b767f4a369c6e6a7aba141",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -419,6 +530,73 @@
"type": "indirect" "type": "indirect"
} }
}, },
"nixvim": {
"inputs": {
"flake-parts": "flake-parts_4",
"nixpkgs": [
"nixpkgs"
],
"nuschtosSearch": "nuschtosSearch"
},
"locked": {
"lastModified": 1745415369,
"narHash": "sha256-XcbDjFXADOGDRXq9da4gvlKBLuMdDQ32ZSem5kf9MmE=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "78f6ff036918dcb6369f8b48abcef6a8788096e8",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixvim",
"type": "github"
}
},
"nuschtos": {
"inputs": {
"flake-utils": "flake-utils_2",
"ixx": "ixx_2",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1745046075,
"narHash": "sha256-8v4y6k16Ra/fiecb4DxhsoOGtzLKgKlS+9/XJ9z0T2I=",
"owner": "NuschtOS",
"repo": "search",
"rev": "066afe8643274470f4a294442aadd988356a478f",
"type": "github"
},
"original": {
"owner": "NuschtOS",
"repo": "search",
"type": "github"
}
},
"nuschtosSearch": {
"inputs": {
"flake-utils": "flake-utils",
"ixx": "ixx",
"nixpkgs": [
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1745046075,
"narHash": "sha256-8v4y6k16Ra/fiecb4DxhsoOGtzLKgKlS+9/XJ9z0T2I=",
"owner": "NuschtOS",
"repo": "search",
"rev": "066afe8643274470f4a294442aadd988356a478f",
"type": "github"
},
"original": {
"owner": "NuschtOS",
"repo": "search",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"disko": "disko", "disko": "disko",
@ -430,6 +608,8 @@
"nixos-facter-modules": "nixos-facter-modules_2", "nixos-facter-modules": "nixos-facter-modules_2",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixvim": "nixvim",
"nuschtos": "nuschtos",
"snm": "snm", "snm": "snm",
"sops-nix": "sops-nix_2", "sops-nix": "sops-nix_2",
"srvos": "srvos" "srvos": "srvos"
@ -445,11 +625,11 @@
"nixpkgs-24_11": "nixpkgs-24_11" "nixpkgs-24_11": "nixpkgs-24_11"
}, },
"locked": { "locked": {
"lastModified": 1745416927, "lastModified": 1745164839,
"narHash": "sha256-jg725STLRgsIAgrvjbRJQEP0F0w+rmvDJ64EN65p6EI=", "narHash": "sha256-+0T3pBcl5BD3qHB2nGfwwnRhb4EeNlJEI0BUm5fXPmE=",
"owner": "simple-nixos-mailserver", "owner": "simple-nixos-mailserver",
"repo": "nixos-mailserver", "repo": "nixos-mailserver",
"rev": "ab52efd622a9f7dca269a49edbbea6b6b7294f57", "rev": "42651ce2d337921c99ae0c293ed9af49f7a89c6a",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@ -539,6 +719,36 @@
"type": "github" "type": "github"
} }
}, },
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_3": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"treefmt-nix": { "treefmt-nix": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [

View file

@ -32,6 +32,14 @@
url = "gitlab:simple-nixos-mailserver/nixos-mailserver"; url = "gitlab:simple-nixos-mailserver/nixos-mailserver";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nixvim = {
url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs";
};
nuschtos = {
url = "github:NuschtOS/search";
inputs.nixpkgs.follows = "nixpkgs";
};
# Packages # Packages
firefox-addons = { firefox-addons = {
@ -58,6 +66,7 @@
pkgs' = system: nixpkgs.legacyPackages.${system}; pkgs' = system: nixpkgs.legacyPackages.${system};
in in
{ {
modules.default = import ./modules;
nixosModules.default = import ./nixos-modules; nixosModules.default = import ./nixos-modules;
homeManagerModules.default = import ./home-modules; homeManagerModules.default = import ./home-modules;
nixosConfigurations = import ./systems { inherit self inputs nixpkgs; }; nixosConfigurations = import ./systems { inherit self inputs nixpkgs; };

5
modules/default.nix Normal file
View file

@ -0,0 +1,5 @@
{ ... }:
{
imports = [ ./neovim ];
}

View file

@ -0,0 +1,26 @@
{ config, lib, ... }:
let
cfg = config.jopejoe1.neovim;
in
{
options.jopejoe1.neovim = {
enable = lib.mkEnableOption "Enable neovim";
};
config = lib.mkIf cfg.enable {
programs.nixvim = {
enable = true;
viAlias = true;
vimAlias = true;
colorschemes.catppuccin = {
enable = true;
settings.flavour = "frappe";
};
plugins = {
treesitter.enable = true;
direnv.enable = true;
};
};
};
}

View file

@ -25,6 +25,8 @@
self.inputs.disko.nixosModules.disko self.inputs.disko.nixosModules.disko
self.inputs.home-manager.nixosModules.home-manager self.inputs.home-manager.nixosModules.home-manager
self.inputs.sops-nix.nixosModules.sops self.inputs.sops-nix.nixosModules.sops
self.inputs.nixvim.nixosModules.nixvim
self.inputs.nixos-facter-modules.nixosModules.facter self.inputs.nixos-facter-modules.nixosModules.facter
self.outputs.modules.default
]; ];
} }

View file

@ -27,7 +27,7 @@ in
}; };
man = { man = {
enable = true; enable = true;
generateCaches = false; generateCaches = true;
}; };
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [

View file

@ -14,7 +14,7 @@ in
layout = lib.mkOption { layout = lib.mkOption {
type = lib.types.str; type = lib.types.str;
default = "us"; default = "us";
description = "Keyboard Layout."; description = lib.mdDoc "Keyboard Layout.";
}; };
}; };

View file

@ -66,6 +66,65 @@
locations."/".proxyPass = locations."/".proxyPass =
"http://${config.services.nix-serve.bindAddress}:${toString config.services.nix-serve.port}"; "http://${config.services.nix-serve.bindAddress}:${toString config.services.nix-serve.port}";
}; };
"nix.missing.ninja" = {
forceSSL = true;
enableACME = true;
locations."/".root = self.inputs.nuschtos.packages.${pkgs.stdenv.system}.mkMultiSearch {
scopes = [
{
modules = [ self.inputs.disko.nixosModules.default ];
name = "Disko";
specialArgs.modulesPath = pkgs.path + "/nixos/modules";
urlPrefix = "https://github.com/nix-community/disko/blob/master/";
}
{
modules = [
self.inputs.snm.nixosModules.default
{
mailserver = {
fqdn = "mx.example.com";
domains = [ "example.com" ];
dmarcReporting = {
organizationName = "Example Corp";
domain = "example.com";
};
};
}
];
name = "Simple NixOS Mailserver";
urlPrefix = "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/blob/master/";
}
{
optionsJSON =
(import "${self.inputs.nixpkgs}/nixos/release.nix" { }).options + /share/doc/nixos/options.json;
name = "NixOS";
urlPrefix = "https://github.com/NixOS/nixpkgs/tree/master/";
}
{
optionsJSON =
self.inputs.home-manager.packages.${pkgs.stdenv.system}.docs-html.passthru.home-manager-options.nixos
+ /share/doc/nixos/options.json;
name = "Home Manager NixOS";
urlPrefix = "https://github.com/nix-community/home-manager/tree/master/";
}
{
optionsJSON =
self.inputs.home-manager.packages.${pkgs.stdenv.system}.docs-json
+ /share/doc/home-manager/options.json;
optionsPrefix = "home-manager.users.<name>";
name = "Home Manager";
urlPrefix = "https://github.com/nix-community/home-manager/tree/master/";
}
{
optionsJSON =
self.inputs.nixvim.packages.${pkgs.stdenv.system}.options-json + /share/doc/nixos/options.json;
optionsPrefix = "programs.nixvim";
name = "NixVim";
urlPrefix = "https://github.com/nix-community/nixvim/tree/main/";
}
];
};
};
"hetzner" = { "hetzner" = {
forceSSL = false; forceSSL = false;
enableACME = false; enableACME = false;

View file

@ -47,6 +47,7 @@
enable = true; enable = true;
layout = "us"; layout = "us";
}; };
neovim.enable = true;
user = { user = {
jopejoe1.enable = true; jopejoe1.enable = true;
root.enable = true; root.enable = true;