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
46
flake.nix
46
flake.nix
|
|
@ -25,23 +25,35 @@
|
|||
|
||||
in
|
||||
{
|
||||
nixosConfigurations.desktop = nixpkgs.lib.nixosSystem {
|
||||
inherit system pkgs;
|
||||
modules = [
|
||||
./src/systems/desktop
|
||||
home-manager.nixosModules.home-manager
|
||||
(import ./src/systems/desktop/home.nix)
|
||||
];
|
||||
};
|
||||
nixosConfigurations.windows = nixpkgs.lib.nixosSystem {
|
||||
inherit system pkgs;
|
||||
modules = [
|
||||
./src/systems/wsl
|
||||
nixos-wsl.nixosModules.wsl
|
||||
(import ./src/systems/wsl/wsl.nix)
|
||||
home-manager.nixosModules.home-manager
|
||||
(import ./src/systems/wsl/home.nix)
|
||||
];
|
||||
nixosConfigurations = {
|
||||
desktop = nixpkgs.lib.nixosSystem {
|
||||
inherit system pkgs;
|
||||
modules = [
|
||||
./src/system/machines/desktop
|
||||
home-manager.nixosModules.home-manager
|
||||
(import ./src/system/machines/desktop/home.nix)
|
||||
];
|
||||
};
|
||||
|
||||
windows = nixpkgs.lib.nixosSystem {
|
||||
inherit system pkgs;
|
||||
modules = [
|
||||
./src/system/machines/wsl
|
||||
nixos-wsl.nixosModules.wsl
|
||||
(import ./src/system/machines/wsl/wsl.nix)
|
||||
home-manager.nixosModules.home-manager
|
||||
(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.users.${config.user.name} = {
|
||||
imports = [
|
||||
../../user
|
||||
../../modules/user
|
||||
../../../user
|
||||
../../../user/modules
|
||||
];
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
{
|
||||
imports = [
|
||||
../../user
|
||||
../../../user
|
||||
./hardware.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";
|
||||
|
||||
imports = [
|
||||
../../modules/system
|
||||
../modules
|
||||
];
|
||||
|
||||
modules = {
|
||||
bitcoin = {
|
||||
enable = true;
|
||||
clightning = true;
|
||||
electrs = true;
|
||||
sparrow-server = true;
|
||||
};
|
||||
};
|
||||
|
||||
# Users
|
||||
users.users = {
|
||||
${config.user.name} = {
|
||||
|
|
@ -5,8 +5,8 @@
|
|||
home-manager.useUserPackages = true;
|
||||
home-manager.users.${config.user.name} = {
|
||||
imports = [
|
||||
../../user
|
||||
../../modules/user
|
||||
../../../user
|
||||
../../../user/modules
|
||||
];
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.modules.corn;
|
||||
cfg = config.modules.bitcoin;
|
||||
|
||||
in
|
||||
{ options.modules.corn = { enable = mkEnableOption "corn"; };
|
||||
{ options.modules.bitcoin = { enable = mkEnableOption "bitcoin"; };
|
||||
|
||||
imports = [
|
||||
./core-lightning
|
||||
|
|
@ -13,6 +13,10 @@ in
|
|||
];
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs.bash.shellAliases = {
|
||||
btc = "bitcoin-cli";
|
||||
};
|
||||
|
||||
users = {
|
||||
users = {
|
||||
"bitcoind" = {
|
||||
|
|
@ -23,15 +27,18 @@ in
|
|||
};
|
||||
groups = {
|
||||
"bitcoin" = {
|
||||
members = [ "core-lightning" "electrs" ];
|
||||
members = [ "clightning" "electrs" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.bitcoind = {
|
||||
"main-net" = {
|
||||
"bitcoind" = {
|
||||
enable = true;
|
||||
testnet = false;
|
||||
user = "bitcoind";
|
||||
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 = [
|
||||
./core-lightning
|
||||
./electrs
|
||||
./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;
|
||||
let
|
||||
cfg = config.modules.corn.sparrow-server;
|
||||
cfg = config.modules.bitcoin.sparrow-server;
|
||||
sparrow-server = import ./derivation.nix { inherit pkgs; };
|
||||
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 {
|
||||
home.packages = with pkgs; [
|
||||
sparrow-server
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
imports = [
|
||||
./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