diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ee0c388 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +*.qcow2 +result diff --git a/flake.nix b/flake.nix index d1b5d57..a8c44d1 100644 --- a/flake.nix +++ b/flake.nix @@ -41,6 +41,15 @@ ]; }; + server = nixpkgs.lib.nixosSystem { + inherit system pkgs; + modules = [ + ./src/system/machines/server + home-manager.nixosModules.home-manager + (import ./src/system/machines/server/modules/home-manager) + ]; + }; + wsl = nixpkgs.lib.nixosSystem { inherit system pkgs; modules = [ @@ -51,15 +60,6 @@ (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) - ]; - }; }; homeConfigurations."work" = home-manager.lib.homeManagerConfiguration { diff --git a/justfile b/justfile index b356d4c..e4b3196 100644 --- a/justfile +++ b/justfile @@ -1,10 +1,26 @@ SYSTEM := "$(echo $HOSTNAME)" +# Print this list default: @just --list +# Clean up build artifacts +clean: + #!/usr/bin/env bash + set -euo pipefail + echo "Cleaning build artifacts" + if [ -d result ]; then + echo "Removing result directory..." + rm ./result; + fi + if ls *.qcow2 1> /dev/null 2>&1; then + echo "Removing virtual disk..." + rm ./*.qcow2; + fi + echo "All clean!" + # Output what derivations will be built -test SYSTEM TYPE="nix": +test SYSTEM TYPE="nixos": #!/usr/bin/env bash set -euo pipefail case "{{TYPE}}" in @@ -38,11 +54,11 @@ test SYSTEM TYPE="nix": esac # Build the nix expression and hydrate the results directory - pass VM flag to build a VM -build SYSTEM TYPE="nix": +make SYSTEM TYPE="nixos": #!/usr/bin/env bash set -euo pipefail case "{{TYPE}}" in - "nix") + "nixos") if [ "{{SYSTEM}}" = "desktop" ] || [ "{{SYSTEM}}" = "server" ] || [ "{{SYSTEM}}" = "wsl" ] || [ "{{SYSTEM}}" = "laptop" ]; then echo "Hydrating resulting NixOS configuration for {{SYSTEM}}..." nix build .#nixosConfigurations."{{SYSTEM}}".config.system.build.toplevel -L @@ -87,30 +103,48 @@ build SYSTEM TYPE="nix": ;; esac +# grep nixpkgs for PKG search PKG: nix search nixpkgs {{PKG}} +# Open nixos packages in the browser pkgs: @xdg-open https://search.nixos.org/packages +# Open nixos options in the browser options: @xdg-open https://search.nixos.org/options -# NixOS-rebuild switch short-hand +# NixOS-rebuild switch for the current system switch: @echo -e "\033[32m->> Switching to next generation ->>\033[0m" @sudo nixos-rebuild switch --flake .#{{SYSTEM}} -# NixOS-rebuild boot short-hand +# NixOS-rebuild boot for the current system boot: @echo -e "\033[34m->> Reboot to new generation ->>\033[0m" @echo "Switching to next generation on reboot" @sudo nixos-rebuild boot --flake .#{{SYSTEM}} # Commit all changes and push to upstream -gh MESSAGE: +gh COMMIT_MESSAGE: #!/usr/bin/env bash set -euo pipefail git add -A - git commit -m "{{MESSAGE}}" + git commit -m "{{COMMIT_MESSAGE}}" git push + +#Fetch resources and compute sha256 hash +hash URL: + #!/usr/bin/env bash + set -euo pipefail + + if echo "{{URL}}" | grep -E '\.(tar\.gz|tgz|zip)$'; then + CONTENTS=$(nix-prefetch-url --unpack {{URL}} | tail -n 1) + else + CONTENTS=$(nix-prefetch-url {{URL}} | tail -n 1) + fi + + HASH=$(nix hash to-sri --type sha256 "$CONTENTS") + + echo -e "\033[32m$HASH\033[0m" diff --git a/src/system/machines/desktop/system.nix b/src/system/machines/desktop/system.nix index 049b9b5..5073ab7 100644 --- a/src/system/machines/desktop/system.nix +++ b/src/system/machines/desktop/system.nix @@ -81,7 +81,7 @@ hardwareClockInLocalTime = true; }; - services.timesyncd = { + services.timesyncd = lib.mkDefault { enable = true; servers = [ "0.pool.ntp.org" diff --git a/src/system/machines/server/hardware.nix b/src/system/machines/server/hardware.nix new file mode 100644 index 0000000..39469c4 --- /dev/null +++ b/src/system/machines/server/hardware.nix @@ -0,0 +1,31 @@ +{ config, lib, modulesPath, ... }: + +{ + imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usbhid" "sd_mod" "sr_mod" ]; + boot.initrd.kernelModules = [ "dm-snapshot" ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems = { + "/" = { + device = "/dev/disk/by-uuid/79093c66-1283-44d4-b03c-f87956bbada1"; + fsType = "ext4"; + }; + + "/home" = { + device = "/dev/disk/by-uuid/1e2d04b2-9a02-4de6-88cc-1e35d0838036"; + fsType = "ext4"; + }; + + "/boot" = { + device = "/dev/disk/by-uuid/0509-1D1F"; + fsType = "vfat"; + }; + }; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + powerManagement.cpuFreqGovernor = lib.mkDefault "performance"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/src/system/modules/tor/modules/default.nix b/src/system/machines/server/modules/default.nix similarity index 65% rename from src/system/modules/tor/modules/default.nix rename to src/system/machines/server/modules/default.nix index 893538e..1649694 100644 --- a/src/system/modules/tor/modules/default.nix +++ b/src/system/machines/server/modules/default.nix @@ -1,5 +1,5 @@ { imports = [ - ./relay + ./home ]; } diff --git a/src/system/machines/server/home.nix b/src/system/machines/server/modules/home-manager/default.nix similarity index 74% rename from src/system/machines/server/home.nix rename to src/system/machines/server/modules/home-manager/default.nix index fb18dc2..b605bad 100644 --- a/src/system/machines/server/home.nix +++ b/src/system/machines/server/modules/home-manager/default.nix @@ -4,9 +4,7 @@ home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.users.${config.user.name} = { - imports = [ - ../../../user - ]; + imports = [ ../../../../../user ]; programs.home-manager.enable = true; programs.bash.shellAliases = { @@ -22,10 +20,15 @@ user = { bash.enable = true; git.enable = true; - gui.enable = false; - gpg.enable = true; - utils.enable = true; - vim.enable = true; + + security = { + gpg.enable = true; + }; + + utils = { + enable = true; + vim.enable = true; + }; }; }; }; diff --git a/src/system/machines/server/system.nix b/src/system/machines/server/system.nix index 5772f66..d51a636 100644 --- a/src/system/machines/server/system.nix +++ b/src/system/machines/server/system.nix @@ -2,16 +2,11 @@ { system.stateVersion = "23.11"; - imports = [ - ../modules - ]; + imports = [ ../../modules ]; modules = { - bitcoin = { - enable = true; - clightning = true; - electrs = true; - sparrow-server = true; + system = { + bitcoin.enable = true; }; }; @@ -68,7 +63,7 @@ hardwareClockInLocalTime = true; }; - services.timesyncd = { + services.timesyncd = lib.mkDefault { enable = true; servers = [ "0.pool.ntp.org" diff --git a/src/system/machines/wsl/system.nix b/src/system/machines/wsl/system.nix index 4e58681..54b2108 100644 --- a/src/system/machines/wsl/system.nix +++ b/src/system/machines/wsl/system.nix @@ -47,7 +47,7 @@ timeZone = "America/New_York"; }; - services.timesyncd = { + services.timesyncd = lib.mkDefault { enable = true; servers = [ "0.pool.ntp.org" diff --git a/src/system/modules/bitcoin/config/default.nix b/src/system/modules/bitcoin/config/default.nix new file mode 100644 index 0000000..524b175 --- /dev/null +++ b/src/system/modules/bitcoin/config/default.nix @@ -0,0 +1,22 @@ +'' +server=1 +daemon=1 + +mempoolfullrbf=1 +v2transport=1 + +rpcauth= + +rpcbind=127.0.0.1 +rpcallowip=127.0.0.1 + +dnsseed=0 + +bind=127.0.0.1 +proxy=127.0.0.1:9050 + +listen=1 +listenonion=1 +torcontrol=127.0.0.1:9051 +torenablecircuit=1 +'' diff --git a/src/system/modules/bitcoin/default.nix b/src/system/modules/bitcoin/default.nix index a18f739..cb5f2d6 100644 --- a/src/system/modules/bitcoin/default.nix +++ b/src/system/modules/bitcoin/default.nix @@ -4,59 +4,56 @@ with lib; let cfg = config.modules.system.bitcoin; + home = "/var/lib/bitcoind"; + conf = pkgs.writeText "bitcoin.conf" (import ./config); + + in { options.modules.system.bitcoin = { enable = mkEnableOption "system.bitcoin"; }; - - imports = [ ./modules ]; - config = mkIf cfg.enable { - programs.bash.shellAliases = { - btc = "bitcoin-cli"; - }; + nixpkgs.overlays = [ + (final: prev: { + bitcoind = prev.bitcoind.overrideAttrs (old: rec { + version = "27.0"; + src = fetchTarball { + url = "https://github.com/bitcoin/bitcoin/archive/refs/tags/v${version}.tar.gz"; + sha256 = "sha256-U2tR3WySD3EssA3a14wUtA3e0t/5go0isqNZSSma7m4="; + }; + }); + }) + ]; users = { users = { - "bitcoind" = { - description = "bitcoind system user"; + "btc" = { + inherit home; + description = "Bitcoin Core system user"; isSystemUser = true; group = "bitcoin"; - home = /var/lib/bitcoind; createHome = true; }; }; groups = { "bitcoin" = { - members = [ "clightning" "electrs" ]; + members = [ + "btc" + ]; }; }; }; + programs.bash.shellAliases = { + btc = "bitcoind"; + }; + + networking.firewall.allowedTCPPorts = [ 8333 ]; + services.bitcoind = { - "bitcoind" = { + "btc" = { enable = true; - testnet = false; - user = "bitcoind"; + user = "btc"; group = "bitcoin"; - configFile = /var/lib/bitcoind/bitcoin.conf; - - rpc = { - port = 8332; - }; - - extraConfig = '' - server=1 - mempoolfullrbf=1 - v2transport=1 - - rpcbind=127.0.0.1 - rpcallowip=127.0.0.1 - - proxy=127.0.0.1:9050 - listen=1 - listenonion=1 - torcontrol=127.0.0.1:9051 - torenablecircuit=1 - ''; + configFile = conf; }; }; }; diff --git a/src/system/modules/bitcoin/modules/core-lightning/default.nix b/src/system/modules/bitcoin/modules/core-lightning/default.nix deleted file mode 100644 index 19e59fd..0000000 --- a/src/system/modules/bitcoin/modules/core-lightning/default.nix +++ /dev/null @@ -1,73 +0,0 @@ -{ lib, pkgs, config, ... }: -#TODO: c-lightning config file - -with lib; - let cfg = config.modules.system.bitcoin.core-lightning; - -in -{ options.modules.system.bitcoin.core-lightning = { enable = mkEnableOption "system.bitcoin.core-lightning"; }; - config = mkIf cfg.enable { - imports = [ ./modules ]; - programs.bash.shellAliases = { - cln = "lightningd"; - }; - - environment.systemPackages = with pkgs; [ - clightning - ]; - - users = { - users = { - "c-lightning" = { - description = "core-lightning system user"; - isSystemUser = true; - group = "bitcoin"; - home = /var/lib/c-lightning; - createHome = true; - }; - }; - }; - - systemd.services.lightningd = { - Unit = { - Description = "Core Lightning daemon"; - Requires = [ "bitcoind.service" ]; - After = [ "bitcoind.service" "network-online.target" ]; - Wants = [ "network-online.target" ]; - }; - Service = { - ExecStartPre = - let - lightningConf = '' - ''; #put lightning conf here - in - "${pkgs.writeShellScript "prepare-clightning-config" '' - mkdir -p /var/lib/c-lightning/.lightning - chown -R c-lightning:bitcoin /var/lib/c-lightning - echo "${lightningConf}" > /var/lib/c-lightning/.lightning/config - chmod 600 /var/lib/c-lightning/.lightning/config - ''}"; - - ExecStart = "${pkgs.clightning}/bin/lightningd --conf=/var/lib/c-lightning/.lightning/config"; - - RuntimeDirectory = "lightningd"; - - User = "c-lightning"; - Group = "bitcoin"; - - Type = "forking"; - PIDFile = "/run/lightningd/lightningd.pid"; - Restart = "on-failute"; - - PrivateTmp = true; - ProtectSystem = "full"; - NoNewPrivileges = true; - PrivateDevies = true; - MemoryDenyWriteAccess = false; - }; - Install = { - WantedBy = [ "multi-user.target" ]; - }; - }; - }; -} diff --git a/src/system/modules/bitcoin/modules/core-lightning/modules/c-lightning-REST/default.nix b/src/system/modules/bitcoin/modules/core-lightning/modules/c-lightning-REST/default.nix deleted file mode 100644 index c04a9e8..0000000 --- a/src/system/modules/bitcoin/modules/core-lightning/modules/c-lightning-REST/default.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ lib, pkgs, config, ... }: - -with lib; - let - cfg = config.modules.system.bitcoin.core-lightning.REST; - cln = config.modules.system.bitcoin.core-lightning; - c-lightning-REST = import ./derivation.nix { inherit pkgs; }; - -in -{ options.modules.system.bitcoin.core-lightning.REST = { - enable = mkEnableOption "system.bitcoin.core-lightning.REST"; - }; - config = mkIf (cfg.enable && cln.enable) { - environment.systemPackages = with pkgs; [ - c-lightning-REST - ]; - }; -} diff --git a/src/system/modules/bitcoin/modules/core-lightning/modules/c-lightning-REST/derivation.nix b/src/system/modules/bitcoin/modules/core-lightning/modules/c-lightning-REST/derivation.nix deleted file mode 100644 index 4c7dd7e..0000000 --- a/src/system/modules/bitcoin/modules/core-lightning/modules/c-lightning-REST/derivation.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ pkgs, ... }: - -with pkgs; -stdenv.mkDerivation rec { - pname = "c-lightning-REST"; - version = "0.10.7"; - - src = fetchurl { - url = "https://github.com/Ride-The-Lightning/c-lightning-REST/archive/refs/tags/v${version}.tar.gz"; - sha256 = "1swg53vbacsrsgy79lni07dy2h44b0yf2kad7j4fv17az4gwnxk7"; - }; - - buildInputs = with pkgs; [ - nodejs - ]; - - installPhase = '' - mkdir -p $out - cp -r * $out/ - ''; - - meta = { - description = "c-lighting REST API"; - homepage = "https://github.com/Ride-The-Lightning/c-lightning-REST"; - license = stdenv.lib.licenses.mit; - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/src/system/modules/bitcoin/modules/core-lightning/modules/default.nix b/src/system/modules/bitcoin/modules/core-lightning/modules/default.nix deleted file mode 100644 index 2b2fd49..0000000 --- a/src/system/modules/bitcoin/modules/core-lightning/modules/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - imports = [ - ./c-lightning-REST - ]; -} diff --git a/src/system/modules/bitcoin/modules/default.nix b/src/system/modules/bitcoin/modules/default.nix deleted file mode 100644 index bbb0cbc..0000000 --- a/src/system/modules/bitcoin/modules/default.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - imports = [ - ./core-lightning - ./electrs - ./sparrow-server - ]; -} diff --git a/src/system/modules/bitcoin/modules/electrs/default.nix b/src/system/modules/bitcoin/modules/electrs/default.nix deleted file mode 100644 index 677bafd..0000000 --- a/src/system/modules/bitcoin/modules/electrs/default.nix +++ /dev/null @@ -1,49 +0,0 @@ -{ lib, pkgs, config, ... }: -#TODO: electrs configuration file - -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"; - home = /var/lib/electrs; - createHome = true; - }; - }; - }; - - systemd.services.electrs = { - Unit = { - Description = "Electrs Bitcoin Indexer"; - After = [ "network.target" "bitcoind.service" ]; - Requires = [ "bitcoind.service" ]; - }; - Service = { - ExecStartPre = "/usr/bin/sleep 10"; - ExecStart = "${pkgs.electrs}/bin/electrs"; - - User = "electrs"; - Group = "bitcoin"; - Type = "simple"; - - KillMode = "process"; - TimeoutSec = 60; - Restart = "always"; - RestartSec = 60; - }; - Install = { - WantedBy = [ "multi-user.target" ]; - }; - }; - }; -} diff --git a/src/system/modules/bitcoin/modules/sparrow-server/default.nix b/src/system/modules/bitcoin/modules/sparrow-server/default.nix deleted file mode 100644 index 6629f8c..0000000 --- a/src/system/modules/bitcoin/modules/sparrow-server/default.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ lib, pkgs, config, ... }: - -with lib; - let - cfg = config.modules.system.bitcoin.sparrow-server; - sparrow-server = import ./derivation.nix { inherit pkgs; }; -in -{ options.modules.system.bitcoin.sparrow-server = { enable = mkEnableOption "system.bitcoin.sparrow-server"; }; - config = mkIf cfg.enable { - environment.systemPackages = with pkgs; [ - sparrow-server - ]; - }; -} diff --git a/src/system/modules/bitcoin/modules/sparrow-server/derivation.nix b/src/system/modules/bitcoin/modules/sparrow-server/derivation.nix deleted file mode 100644 index 8e5e698..0000000 --- a/src/system/modules/bitcoin/modules/sparrow-server/derivation.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ pkgs, ... }: - -with pkgs; -stdenv.mkDerivation rec { - pname = "sparrow-server"; - version = "1.8.2"; - - src = fetchurl { - url = "https://github.com/sparrowwallet/sparrow/releases/download/${version}/sparrow-server-${version}-x86_64.tar.gz"; - sha256 = "16hyrf8j7mv3m1ry7r2k3w70yxbf6smgcm5d35xy2hjqfmahv65m"; - }; - - installPhase = '' - mkdir -p $out/bin - cp -r * $out/bin - ''; - - meta = { - description = "Sparrow Server"; - homepage = "https://sparrowwallet.com/"; - license = stdenv.lib.licenses.mit; - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/src/system/modules/default.nix b/src/system/modules/default.nix index 77c150a..7e1d613 100644 --- a/src/system/modules/default.nix +++ b/src/system/modules/default.nix @@ -1,7 +1,5 @@ { imports = [ ./bitcoin - ./nginx - ./tor ]; } diff --git a/src/system/modules/nginx/default.nix b/src/system/modules/nginx/default.nix deleted file mode 100644 index 6079a17..0000000 --- a/src/system/modules/nginx/default.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ lib, config, pkgs, ... }: - -with lib; -let - cfg = config.modules.system.nginx; - -in -{ options.modules.system.nginx = { enable = mkEnableOption "system.nginx"; }; - config = mkIf cfg.enable { - imports = [ ./sites ]; - security.acme = { - defaults = { - email = config.user.email; - }; - }; - services.nginx = { - enable = true; - package = pkgs.nginxMainLine; - }; - }; -} diff --git a/src/system/modules/nginx/sites/default.nix b/src/system/modules/nginx/sites/default.nix deleted file mode 100644 index 94b7201..0000000 --- a/src/system/modules/nginx/sites/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - imports = [ - ./mySite - ]; -} diff --git a/src/system/modules/nginx/sites/mySite/default.nix b/src/system/modules/nginx/sites/mySite/default.nix deleted file mode 100644 index 56932e2..0000000 --- a/src/system/modules/nginx/sites/mySite/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ lib, config, ... }: - -with lib; -let - cfg = config.modules.system.nginx.mySite; - nginxCfg = config.modules.system.nginx; - -in -{ options.modules.system.nginx.mySite = { enable = mkEnableOption "system.nginx.mySite"; }; - config = mkIf (cfg.enable && nginxCfg) { - security.acme = { - certs = { - "*.ramos.codes" = { - #TODO: configure ACME certs - }; - }; - }; - services.nginx = { - #TODO: check if configure as vhost or stream - virtualHosts = { - "*.ramos.codes" = { - addSSL = true; - onlySSL = true; - forceSSL = true; - acmeRoot = null; - }; - }; - }; - }; -} diff --git a/src/system/modules/nginx/sites/mySite/modules/btc/default.nix b/src/system/modules/nginx/sites/mySite/modules/btc/default.nix deleted file mode 100644 index fa7f50c..0000000 --- a/src/system/modules/nginx/sites/mySite/modules/btc/default.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ lib, config, ... }: - -with lib; -let - cfg = config.modules.system.nginx.mySite.btc; - mySiteCfg = config.modules.system.nginx.mySite; - btcCfg = config.modules.system.bitcoin; - -in -{ options.modules.system.nginx.mySite.btc = { enable = mkEnableOption "system.nginx.mySite.btc"; }; - config = mkIf (cfg.enable && mySiteCfg && btcCfg) { - #security.acme = { - # certs = { - # "btc.ramos.codes" = { - # #TODO: configure ACME certs - # }; - # }; - #}; - #services.nginx = { - # #TODO: check if configure as vhost or stream - # virtualHosts = { - # "btc.ramos.codes" = { - # addSSL = true; - # onlySSL = true; - # forceSSL = true; - # acmeRoot = null; - # }; - # }; - #}; - }; -} diff --git a/src/system/modules/nginx/sites/mySite/modules/git/default.nix b/src/system/modules/nginx/sites/mySite/modules/git/default.nix deleted file mode 100644 index 62b8f66..0000000 --- a/src/system/modules/nginx/sites/mySite/modules/git/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ lib, config, ... }: - -with lib; -let - cfg = config.modules.system.nginx.mySite.git; - mySiteCfg = config.modules.system.nginx.mySite; - -in -{ options.modules.system.nginx.mySite.git = { enable = mkEnableOption "system.nginx.mySite.git"; }; - config = mkIf (cfg.enable && mySiteCfg) { - #security.acme = { - # certs = { - # "ramos.codes" = { - # #TODO: configure ACME certs - # }; - # }; - #}; - #services.nginx = { - # #TODO: check if configure as vhost or stream - # streamConfig = services.nginx.streamConfig ++ { - # "*.ramos.codes" = { - # addSSL = true; - # onlySSL = true; - # forceSSL = true; - # acmeRoot = null; - # }; - # }; - #}; - }; -} diff --git a/src/system/modules/tor/default.nix b/src/system/modules/tor/default.nix deleted file mode 100644 index efdf41c..0000000 --- a/src/system/modules/tor/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ lib, config, ... }: - -with lib; -let - cfg = config.modules.system.tor; - -in -{ options.modules.system.tor = { enable = mkEnableOption "system.tor"; }; - config = mkIf cfg.enable { - imports = [ ./modules ]; - services.tor = { - enable = true; - client = { - enable = lib.mkDefault true; - dns.enable = mkIf services.tor.client.enable true; - }; - relay.enable = lib.mkDefault false; - enableGeoIP = false; - DoSConnectionEnabled = true; - DoSCircuitCreationEnabled = true; - }; - }; -} diff --git a/src/system/modules/tor/modules/relay.nix b/src/system/modules/tor/modules/relay.nix deleted file mode 100644 index 17044a6..0000000 --- a/src/system/modules/tor/modules/relay.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ lib, config, ... }: - -with lib; -let - cfg = config.modules.system.tor.relay; - torCfg = config.modules.system.tor; - -in -{ options.modules.system.tor.relay = { enable = mkEnableOption "system.tor.relay"; }; - config = mkIf (cfg.enable && torCfg.enable) { - services.tor = { - client.enable = false; - relay.enable = true; - }; - }; -} diff --git a/src/user/modules/git/default.nix b/src/user/modules/git/default.nix index c78f371..32a40a3 100644 --- a/src/user/modules/git/default.nix +++ b/src/user/modules/git/default.nix @@ -13,15 +13,14 @@ in extraConfig = { init = { defaultBranch = "master"; }; format = { pretty = "oneline"; }; + log = { abbrevCommit = true; }; mergetool = { vimdiff = { trustExitCode = true; }; }; merge = { tool = "vimdiff"; }; - safe = { - directory = "/etc/nixos"; - }; + safe = { directory = "/etc/nixos"; }; }; ignores = [ "node_modules" diff --git a/src/user/modules/utils/modules/dev/default.nix b/src/user/modules/utils/modules/dev/default.nix index 9a9ecbd..c22fdb3 100644 --- a/src/user/modules/utils/modules/dev/default.nix +++ b/src/user/modules/utils/modules/dev/default.nix @@ -30,7 +30,7 @@ in }; home.sessionVariables = { - DIRENV_LOG_FORMAT = " "; + DIRENV_LOG_FORMAT = ""; }; }; }