mirror of
https://github.com/itme-brain/nixos.git
synced 2026-03-24 00:29:43 -04:00
v2
This commit is contained in:
parent
036db0b3b9
commit
203170a88f
66 changed files with 169 additions and 54 deletions
26
flake.nix
26
flake.nix
|
|
@ -25,23 +25,35 @@
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
nixosConfigurations.desktop = nixpkgs.lib.nixosSystem {
|
nixosConfigurations = {
|
||||||
|
desktop = nixpkgs.lib.nixosSystem {
|
||||||
inherit system pkgs;
|
inherit system pkgs;
|
||||||
modules = [
|
modules = [
|
||||||
./src/systems/desktop
|
./src/system/machines/desktop
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
(import ./src/systems/desktop/home.nix)
|
(import ./src/system/machines/desktop/home.nix)
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
nixosConfigurations.windows = nixpkgs.lib.nixosSystem {
|
|
||||||
|
windows = nixpkgs.lib.nixosSystem {
|
||||||
inherit system pkgs;
|
inherit system pkgs;
|
||||||
modules = [
|
modules = [
|
||||||
./src/systems/wsl
|
./src/system/machines/wsl
|
||||||
nixos-wsl.nixosModules.wsl
|
nixos-wsl.nixosModules.wsl
|
||||||
(import ./src/systems/wsl/wsl.nix)
|
(import ./src/system/machines/wsl/wsl.nix)
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
(import ./src/systems/wsl/home.nix)
|
(import ./src/system/machines/wsl/home.nix)
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
server = nixpkgs.lib.nixosSystem {
|
||||||
|
inherit system pkgs;
|
||||||
|
modules = [
|
||||||
|
./src/system/machines/server
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
(import ./src/system/machines/server/home.nix)
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
{ lib, pkgs, config, ... }:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
let cfg = config.modules.corn.core-lightning;
|
|
||||||
|
|
||||||
in
|
|
||||||
{ options.modules.corn.core-lightning = { enable = mkEnableOption "corn.core-lightning"; };
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
clightning
|
|
||||||
];
|
|
||||||
|
|
||||||
systemd.services.clightning = {
|
|
||||||
after = [ "network.target" ];
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
|
||||||
script = ''
|
|
||||||
${pkgs.clightning}/bin/lightningd --conf=...
|
|
||||||
'';
|
|
||||||
serviceConfig = {
|
|
||||||
User = "core-lighting";
|
|
||||||
Group = "bitcoin";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -5,8 +5,8 @@
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
home-manager.users.${config.user.name} = {
|
home-manager.users.${config.user.name} = {
|
||||||
imports = [
|
imports = [
|
||||||
../../user
|
../../../user
|
||||||
../../modules/user
|
../../../user/modules
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../user
|
../../../user
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
./system.nix
|
./system.nix
|
||||||
];
|
];
|
||||||
35
src/system/machines/server/home.nix
Normal file
35
src/system/machines/server/home.nix
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
{ config, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home-manager.useGlobalPkgs = true;
|
||||||
|
home-manager.useUserPackages = true;
|
||||||
|
home-manager.users.${config.user.name} = {
|
||||||
|
imports = [
|
||||||
|
../../../user
|
||||||
|
../../../user/modules
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
programs.bash.shellAliases = {
|
||||||
|
nixup = "sudo nixos-rebuild switch --flake /etc/nixos/.#server";
|
||||||
|
};
|
||||||
|
|
||||||
|
home.stateVersion = "23.11";
|
||||||
|
|
||||||
|
home.username = "${config.user.name}";
|
||||||
|
home.homeDirectory = "/home/${config.user.name}";
|
||||||
|
|
||||||
|
modules = {
|
||||||
|
bash.enable = true;
|
||||||
|
git.enable = true;
|
||||||
|
gpg.enable = true;
|
||||||
|
|
||||||
|
utils = {
|
||||||
|
enable = true;
|
||||||
|
vim.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
gui.enable = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -3,9 +3,18 @@
|
||||||
{ system.stateVersion = "23.11";
|
{ system.stateVersion = "23.11";
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
../../modules/system
|
../modules
|
||||||
];
|
];
|
||||||
|
|
||||||
|
modules = {
|
||||||
|
bitcoin = {
|
||||||
|
enable = true;
|
||||||
|
clightning = true;
|
||||||
|
electrs = true;
|
||||||
|
sparrow-server = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
# Users
|
# Users
|
||||||
users.users = {
|
users.users = {
|
||||||
${config.user.name} = {
|
${config.user.name} = {
|
||||||
|
|
@ -5,8 +5,8 @@
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
home-manager.users.${config.user.name} = {
|
home-manager.users.${config.user.name} = {
|
||||||
imports = [
|
imports = [
|
||||||
../../user
|
../../../user
|
||||||
../../modules/user
|
../../../user/modules
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
|
@ -2,10 +2,10 @@
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.modules.corn;
|
cfg = config.modules.bitcoin;
|
||||||
|
|
||||||
in
|
in
|
||||||
{ options.modules.corn = { enable = mkEnableOption "corn"; };
|
{ options.modules.bitcoin = { enable = mkEnableOption "bitcoin"; };
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./core-lightning
|
./core-lightning
|
||||||
|
|
@ -13,6 +13,10 @@ in
|
||||||
];
|
];
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
programs.bash.shellAliases = {
|
||||||
|
btc = "bitcoin-cli";
|
||||||
|
};
|
||||||
|
|
||||||
users = {
|
users = {
|
||||||
users = {
|
users = {
|
||||||
"bitcoind" = {
|
"bitcoind" = {
|
||||||
|
|
@ -23,15 +27,18 @@ in
|
||||||
};
|
};
|
||||||
groups = {
|
groups = {
|
||||||
"bitcoin" = {
|
"bitcoin" = {
|
||||||
members = [ "core-lightning" "electrs" ];
|
members = [ "clightning" "electrs" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services.bitcoind = {
|
services.bitcoind = {
|
||||||
"main-net" = {
|
"bitcoind" = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
testnet = false;
|
||||||
user = "bitcoind";
|
user = "bitcoind";
|
||||||
group = "bitcoin";
|
group = "bitcoin";
|
||||||
|
#extraConfig = TODO;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
{ lib, pkgs, config, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
let cfg = config.modules.bitcoin.core-lightning;
|
||||||
|
|
||||||
|
in
|
||||||
|
{ options.modules.bitcoin.core-lightning = { enable = mkEnableOption "bitcoin.core-lightning"; };
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
programs.bash.shellAliases = {
|
||||||
|
cln = "lightningd";
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
clightning
|
||||||
|
];
|
||||||
|
|
||||||
|
users = {
|
||||||
|
users = {
|
||||||
|
"clightning" = {
|
||||||
|
description = "clightning system user";
|
||||||
|
isSystemUser = true;
|
||||||
|
group = "bitcoin";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.clightning = {
|
||||||
|
Unit = {
|
||||||
|
after = [ "network.target" "bitcoind.service" ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
};
|
||||||
|
Service = {
|
||||||
|
ExecStart = "${pkgs.clightning}/bin/lightningd --conf=...";
|
||||||
|
Restart = "always";
|
||||||
|
User = "clightning";
|
||||||
|
Group = "bitcoin";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./core-lightning
|
./core-lightning
|
||||||
|
./electrs
|
||||||
./sparrow-cli
|
./sparrow-cli
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
35
src/system/modules/bitcoin/modules/electrs/default.nix
Normal file
35
src/system/modules/bitcoin/modules/electrs/default.nix
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
{ lib, pkgs, config, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
let cfg = config.modules.bitcoin.electrs;
|
||||||
|
in
|
||||||
|
{ options.modules.bitcoin.electrs = { enable = mkEnableOption "bitcoin.electrs"; };
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
electrs
|
||||||
|
];
|
||||||
|
|
||||||
|
users = {
|
||||||
|
users = {
|
||||||
|
"electrs" = {
|
||||||
|
description = "electrs system user";
|
||||||
|
isSystemUser = true;
|
||||||
|
group = "bitcoin";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.electrs = {
|
||||||
|
Unit = {
|
||||||
|
after = [ "network.target" "bitcoind.service" ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
};
|
||||||
|
Service = {
|
||||||
|
ExecStart = "${pkgs.electrs}/bin/electrs --conf=...";
|
||||||
|
Restart = "always";
|
||||||
|
User = "electrs";
|
||||||
|
Group = "bitcoin";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -2,10 +2,10 @@
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.modules.corn.sparrow-server;
|
cfg = config.modules.bitcoin.sparrow-server;
|
||||||
sparrow-server = import ./derivation.nix { inherit pkgs; };
|
sparrow-server = import ./derivation.nix { inherit pkgs; };
|
||||||
in
|
in
|
||||||
{ options.modules.corn.sparrow-server = { enable = mkEnableOption "corn.sparrow-server"; };
|
{ options.modules.bitcoin.sparrow-server = { enable = mkEnableOption "bitcoin.sparrow-server"; };
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
sparrow-server
|
sparrow-server
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./corn
|
./corn
|
||||||
|
./security
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 609 KiB After Width: | Height: | Size: 609 KiB |
Loading…
Add table
Add a link
Reference in a new issue