Compare commits

..

25 commits

Author SHA1 Message Date
Anish Lakhwara dddd7b2d3f updating website 2024-11-20 00:00:11 -08:00
Anish Lakhwara 3eaa81b6d2 updating website 2024-11-17 00:00:11 -08:00
Anish Lakhwara 57a2279e74 updating website 2024-11-16 00:00:13 -08:00
Anish Lakhwara c29c8e0cd7 updating website 2024-11-15 00:00:09 -08:00
Anish Lakhwara 2f6cf15d25 updating website 2024-11-13 00:00:10 -08:00
Anish Lakhwara 55b823adf5 updating website 2024-11-11 00:00:11 -08:00
Anish Lakhwara fd6af1f212 updating website 2024-11-09 00:00:08 -08:00
Anish Lakhwara cc77a295ce updating website 2024-11-05 00:00:11 -08:00
Anish Lakhwara 39d14d1eb0 updating website 2024-11-04 00:00:11 -08:00
Anish Lakhwara e86084786d updating website 2024-10-29 00:00:10 -07:00
Anish Lakhwara b6b6efc4c7 updating website 2024-10-26 00:00:09 -07:00
Anish Lakhwara 8d2f747337 add mast route to box 2024-10-25 16:15:05 -07:00
Anish Lakhwara 3c3236cd2d curnve does ssh now too 2024-10-25 15:37:45 -07:00
Anish Lakhwara 19125e33ad updating website 2024-10-25 00:00:13 -07:00
Anish Lakhwara f482febff4 updating website 2024-10-22 00:00:10 -07:00
Anish Lakhwara c861e5639e updating website 2024-10-21 00:00:10 -07:00
Anish Lakhwara ea5e541a1d updating website 2024-10-20 00:00:10 -07:00
Anish Lakhwara e8cf604de7 updating website 2024-10-19 00:00:11 -07:00
Anish Lakhwara c1d771f7a4 updating website 2024-10-15 00:00:09 -07:00
Anish Lakhwara 6c5a37d8b0 updating website 2024-10-14 00:00:10 -07:00
Anish Lakhwara 61fea48f7a updating website 2024-10-13 00:00:11 -07:00
Anish Lakhwara 39814fd4d8 updating website 2024-10-10 00:00:13 -07:00
Anish Lakhwara d8787678a7 updating website 2024-10-06 00:00:09 -07:00
Anish Lakhwara 0f6a608f76 updating website 2024-10-05 00:00:09 -07:00
Anish Lakhwara 076ad4b116 updating website 2024-10-02 00:00:08 -07:00
11 changed files with 136 additions and 300 deletions

View file

@ -284,29 +284,6 @@
"type": "github" "type": "github"
} }
}, },
"nix-formatter-pack": {
"inputs": {
"nixpkgs": [
"nix-on-droid",
"nixpkgs"
],
"nmd": "nmd",
"nmt": "nmt"
},
"locked": {
"lastModified": 1705252799,
"narHash": "sha256-HgSTREh7VoXjGgNDwKQUYcYo13rPkltW7IitHrTPA5c=",
"owner": "Gerschtli",
"repo": "nix-formatter-pack",
"rev": "2de39dedd79aab14c01b9e2934842051a160ffa5",
"type": "github"
},
"original": {
"owner": "Gerschtli",
"repo": "nix-formatter-pack",
"type": "github"
}
},
"nix-matrix-appservices": { "nix-matrix-appservices": {
"inputs": { "inputs": {
"devshell": "devshell", "devshell": "devshell",
@ -328,34 +305,6 @@
"type": "gitlab" "type": "gitlab"
} }
}, },
"nix-on-droid": {
"inputs": {
"home-manager": [
"home-manager"
],
"nix-formatter-pack": "nix-formatter-pack",
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-docs": "nixpkgs-docs",
"nixpkgs-for-bootstrap": "nixpkgs-for-bootstrap",
"nmd": "nmd_2"
},
"locked": {
"lastModified": 1720396533,
"narHash": "sha256-UFzk/hZWO1VkciIO5UPaSpJN8s765wsngUSvtJM6d5Q=",
"owner": "nix-community",
"repo": "nix-on-droid",
"rev": "f3d3b8294039f2f9a8fb7ea82c320f29c6b0fe25",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-24.05",
"repo": "nix-on-droid",
"type": "github"
}
},
"nixlib": { "nixlib": {
"locked": { "locked": {
"lastModified": 1643502816, "lastModified": 1643502816,
@ -403,38 +352,6 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-docs": {
"locked": {
"lastModified": 1705957679,
"narHash": "sha256-Q8LJaVZGJ9wo33wBafvZSzapYsjOaNjP/pOnSiKVGHY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9a333eaa80901efe01df07eade2c16d183761fa3",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "release-23.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-for-bootstrap": {
"locked": {
"lastModified": 1720244366,
"narHash": "sha256-WrDV0FPMVd2Sq9hkR5LNHudS3OSMmUrs90JUTN+MXpA=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "49ee0e94463abada1de470c9c07bfc12b36dcf40",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "49ee0e94463abada1de470c9c07bfc12b36dcf40",
"type": "github"
}
},
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1723938990, "lastModified": 1723938990,
@ -451,60 +368,6 @@
"type": "github" "type": "github"
} }
}, },
"nmd": {
"flake": false,
"locked": {
"lastModified": 1666190571,
"narHash": "sha256-Z1hc7M9X6L+H83o9vOprijpzhTfOBjd0KmUTnpHAVjA=",
"owner": "rycee",
"repo": "nmd",
"rev": "b75d312b4f33bd3294cd8ae5c2ca8c6da2afc169",
"type": "gitlab"
},
"original": {
"owner": "rycee",
"repo": "nmd",
"type": "gitlab"
}
},
"nmd_2": {
"inputs": {
"nixpkgs": [
"nix-on-droid",
"nixpkgs-docs"
],
"scss-reset": "scss-reset"
},
"locked": {
"lastModified": 1705050560,
"narHash": "sha256-x3zzcdvhJpodsmdjqB4t5mkVW22V3wqHLOun0KRBzUI=",
"owner": "~rycee",
"repo": "nmd",
"rev": "66d9334933119c36f91a78d565c152a4fdc8d3d3",
"type": "sourcehut"
},
"original": {
"owner": "~rycee",
"repo": "nmd",
"type": "sourcehut"
}
},
"nmt": {
"flake": false,
"locked": {
"lastModified": 1648075362,
"narHash": "sha256-u36WgzoA84dMVsGXzml4wZ5ckGgfnvS0ryzo/3zn/Pc=",
"owner": "rycee",
"repo": "nmt",
"rev": "d83601002c99b78c89ea80e5e6ba21addcfe12ae",
"type": "gitlab"
},
"original": {
"owner": "rycee",
"repo": "nmt",
"type": "gitlab"
}
},
"nur": { "nur": {
"locked": { "locked": {
"lastModified": 1724040334, "lastModified": 1724040334,
@ -527,11 +390,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1727650805, "lastModified": 1731920409,
"narHash": "sha256-TJrDfSAFbvXFo5rxtpjoly2zIuTYDcSslTPlpuJIi2o=", "narHash": "sha256-bMjdNGoWJXaWIGtfxcODmmrNoONnwN3hS73cDTRC1Pk=",
"ref": "main", "ref": "main",
"rev": "0042ec1158d06dad913d59682cbf987583919549", "rev": "a87e348a46fd04dbe35ee9accf710eeec42ecbb6",
"revCount": 1487, "revCount": 1530,
"type": "git", "type": "git",
"url": "ssh://gitea@git.sealight.xyz/aynish/kitaab" "url": "ssh://gitea@git.sealight.xyz/aynish/kitaab"
}, },
@ -551,7 +414,6 @@
"hardware": "hardware", "hardware": "hardware",
"home-manager": "home-manager_2", "home-manager": "home-manager_2",
"nix-matrix-appservices": "nix-matrix-appservices", "nix-matrix-appservices": "nix-matrix-appservices",
"nix-on-droid": "nix-on-droid",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_2",
"nur": "nur", "nur": "nur",
@ -582,22 +444,6 @@
"type": "github" "type": "github"
} }
}, },
"scss-reset": {
"flake": false,
"locked": {
"lastModified": 1631450058,
"narHash": "sha256-muDlZJPtXDIGevSEWkicPP0HQ6VtucbkMNygpGlBEUM=",
"owner": "andreymatin",
"repo": "scss-reset",
"rev": "0cf50e27a4e95e9bb5b1715eedf9c54dee1a5a91",
"type": "github"
},
"original": {
"owner": "andreymatin",
"repo": "scss-reset",
"type": "github"
}
},
"superdirt-src": { "superdirt-src": {
"flake": false, "flake": false,
"locked": { "locked": {

151
flake.nix
View file

@ -7,9 +7,8 @@
unstable.url = "github:nixos/nixpkgs/nixos-unstable"; unstable.url = "github:nixos/nixpkgs/nixos-unstable";
nixos-hardware.url = "github:NixOS/nixos-hardware/master"; nixos-hardware.url = "github:NixOS/nixos-hardware/master";
nix-on-droid.url = "github:nix-community/nix-on-droid/release-24.05"; # ngipkgs.url = "github:Chickensoupwithrice/ngipkgs?ref=aynish/atomic-server-module";
nix-on-droid.inputs.nixpkgs.follows = "nixpkgs"; # ngipkgs-local.url = "path:/home/anish/usr/ngipkgs";
nix-on-droid.inputs.home-manager.follows = "home-manager";
# Home manager # Home manager
home-manager.url = "github:nix-community/home-manager/release-24.05"; home-manager.url = "github:nix-community/home-manager/release-24.05";
@ -28,7 +27,8 @@
poonam.url = "git+ssh://gitea@git.sealight.xyz/aynish/kitaab?ref=main"; poonam.url = "git+ssh://gitea@git.sealight.xyz/aynish/kitaab?ref=main";
poonam.inputs.nixpkgs.follows = "nixpkgs"; poonam.inputs.nixpkgs.follows = "nixpkgs";
basant.url = "git+ssh://gitea@git.sealight.xyz/aynish/basant?ref=main"; basant.url = "git+ssh://gitea@git.sealight.xyz/aynish/basant?ref=main";
vimwikicli.url = "git+ssh://gitea@git.sealight.xyz/aynish/vimwiki-cli?ref=main"; vimwikicli.url =
"git+ssh://gitea@git.sealight.xyz/aynish/vimwiki-cli?ref=main";
basant.inputs.nixpkgs.follows = "nixpkgs"; basant.inputs.nixpkgs.follows = "nixpkgs";
basant.inputs.poonam.follows = "poonam"; basant.inputs.poonam.follows = "poonam";
vimwikicli.inputs.nixpkgs.follows = "nixpkgs"; vimwikicli.inputs.nixpkgs.follows = "nixpkgs";
@ -55,25 +55,9 @@
# muneem.inputs.nixpkgs.follows = "nixpkgs"; # muneem.inputs.nixpkgs.follows = "nixpkgs";
}; };
outputs = outputs = { self, nixpkgs, unstable, nixos-hardware, home-manager, deploy-rs
{ self , agenix, disko, basant, grasp, nix-matrix-appservices, nur, tidalcycles
, nixpkgs , rust-overlay, vimwikicli, ... }@inputs:
, unstable
, nixos-hardware
, home-manager
, nix-on-droid
, deploy-rs
, agenix
, disko
, basant
, grasp
, nix-matrix-appservices
, nur
, tidalcycles
, rust-overlay
, vimwikicli
, ...
}@inputs:
let let
forAllSystems = nixpkgs.lib.genAttrs [ forAllSystems = nixpkgs.lib.genAttrs [
"aarch64-linux" "aarch64-linux"
@ -91,59 +75,59 @@
vimwiki-cli = vimwikicli.packages.${prev.system}.vimwiki-cli; vimwiki-cli = vimwikicli.packages.${prev.system}.vimwiki-cli;
}; };
nixpkgsFor = forAllSystems (system: import nixpkgs { nixpkgsFor = forAllSystems (system:
inherit system; import nixpkgs {
config.allowUnfreePredicate = pkg: builtins.elem (nixpkgs.lib.getName pkg) [ inherit system;
"ripcord" config.allowUnfreePredicate = pkg:
"vcv-rack" builtins.elem (nixpkgs.lib.getName pkg) [
"SunVox" "ripcord"
"renoise" "vcv-rack"
]; "SunVox"
# config.permittedInsecurePackages = [ "renoise"
# "python3.10-django-3.1.14" # Needed for archivebox deployments on curve ];
# # Check when archive box updates it's dependeny # config.permittedInsecurePackages = [
# ]; # "python3.10-django-3.1.14" # Needed for archivebox deployments on curve
overlays = [ # # Check when archive box updates it's dependeny
rust-overlay.overlays.default # ];
tidalcycles.overlays.default overlays = [
agenix.overlays.default rust-overlay.overlays.default
nur.overlay tidalcycles.overlays.default
nix-matrix-appservices.overlay agenix.overlays.default
unstableOverlay nur.overlay
vimwikiOverlay nix-matrix-appservices.overlay
self.overlays.additions unstableOverlay
self.overlays.modifications vimwikiOverlay
]; self.overlays.additions
}); self.overlays.modifications
];
});
# for when space matters # for when space matters
litePkgsFor = forAllSystems (system: import nixpkgs { litePkgsFor = forAllSystems (system:
inherit system; import nixpkgs {
# config.permittedInsecurePackages = [ inherit system;
# "forgejo-1.19.4-0" # Needed for archivebox deployments on curve # config.permittedInsecurePackages = [
# # Check when archive box updates it's dependeny # "forgejo-1.19.4-0" # Needed for archivebox deployments on curve
# ]; # # Check when archive box updates it's dependeny
overlays = [ # ];
agenix.overlays.default overlays = [
self.overlays.additions agenix.overlays.default
self.overlays.modifications self.overlays.additions
tidalcycles.overlays.default # needed for nvim which comes pre-installed lol self.overlays.modifications
]; tidalcycles.overlays.default # needed for nvim which comes pre-installed lol
}); ];
in });
{ in {
# Your custom packages # Your custom packages
# Acessible through 'nix build', 'nix shell', etc # Acessible through 'nix build', 'nix shell', etc
packages = forAllSystems (system: packages = forAllSystems (system:
let pkgs = nixpkgsFor.${system}; let pkgs = nixpkgsFor.${system};
in import ./pkgs { pkgs = pkgs; } in import ./pkgs { pkgs = pkgs; });
);
# Devshell for bootstrapping # Devshell for bootstrapping
# Acessible through 'nix develop' or 'nix-shell' (legacy) # Acessible through 'nix develop' or 'nix-shell' (legacy)
devShells = forAllSystems (system: devShells = forAllSystems (system:
let pkgs = nixpkgsFor.${system}; let pkgs = nixpkgsFor.${system};
in import ./shell.nix { pkgs = pkgs; } in import ./shell.nix { pkgs = pkgs; });
);
# Your custom packages and modifications, exported as overlays # Your custom packages and modifications, exported as overlays
overlays = import ./overlays; overlays = import ./overlays;
@ -235,7 +219,7 @@
nix.registry.nixpkgs.flake = nixpkgs; nix.registry.nixpkgs.flake = nixpkgs;
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
home-manager.users.anish = import ./home/core; home-manager.users.anish = import ./home/dev;
} }
]; ];
}; };
@ -245,28 +229,13 @@
# Available through 'home-manager --flake .#your-username@your-hostname' # Available through 'home-manager --flake .#your-username@your-hostname'
homeConfigurations = { homeConfigurations = {
"anish@work" = home-manager.lib.homeManagerConfiguration { "anish@work" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgsFor."x86_64-linux"; # Home-manager requires 'pkgs' instance pkgs =
nixpkgsFor."x86_64-linux"; # Home-manager requires 'pkgs' instance
extraSpecialArgs = { inherit inputs; }; extraSpecialArgs = { inherit inputs; };
modules = [ modules = [ ./home/core.nix ./home/profiles/firefox ];
./home/core.nix
./home/profiles/firefox
];
}; };
}; };
nixOnDroidConfigurations.default = nix-on-droid.lib.nixOnDroidConfiguration {
pkgs = import nixpkgs { system = "aarch64-linux"; };
modules = [
./hosts/droid
{
home-manager = {
config = ./home/core/default.nix;
useGlobalPkgs = true;
};
}
];
};
deploy.nodes = { deploy.nodes = {
box = { box = {
hostname = "mossnet.lan"; hostname = "mossnet.lan";
@ -275,7 +244,8 @@
remoteBuild = true; remoteBuild = true;
profiles.system = { profiles.system = {
user = "root"; user = "root";
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.box; path = deploy-rs.lib.x86_64-linux.activate.nixos
self.nixosConfigurations.box;
}; };
}; };
lituus = { lituus = {
@ -283,7 +253,8 @@
# autoRollback = false; # autoRollback = false;
profiles.system = { profiles.system = {
user = "root"; user = "root";
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.lituus; path = deploy-rs.lib.x86_64-linux.activate.nixos
self.nixosConfigurations.lituus;
}; };
}; };
helix = { helix = {
@ -292,11 +263,13 @@
magicRollback = false; magicRollback = false;
profiles.system = { profiles.system = {
user = "root"; user = "root";
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.helix; path = deploy-rs.lib.x86_64-linux.activate.nixos
self.nixosConfigurations.helix;
}; };
}; };
}; };
checks = builtins.mapAttrs (system: deployLib: deployLib.deployChecks self.deploy) deploy-rs.lib; checks = builtins.mapAttrs
(system: deployLib: deployLib.deployChecks self.deploy) deploy-rs.lib;
}; };
} }

View file

@ -4,7 +4,6 @@
../profiles/cli ../profiles/cli
../profiles/direnv ../profiles/direnv
../profiles/git ../profiles/git
../profiles/nvim
]; ];
home.stateVersion = "22.05"; home.stateVersion = "22.05";
} }

5
home/dev/default.nix Normal file
View file

@ -0,0 +1,5 @@
{ self, pkgs, ... }: {
imports =
[ ../profiles/cli ../profiles/nvim ../profiles/direnv ../profiles/git ];
home.stateVersion = "22.05";
}

View file

@ -62,7 +62,7 @@
pandoc pandoc
taskwarrior-tui taskwarrior-tui
python3Packages.howdoi python3Packages.howdoi
# vimwiki-cli vimwiki-cli
(pkgs.writeScriptBin "jq-repl" '' (pkgs.writeScriptBin "jq-repl" ''
#!/usr/bin/env bash #!/usr/bin/env bash

View file

@ -856,7 +856,7 @@ in
extraPackages = with pkgs // customPlugins; [ extraPackages = with pkgs // customPlugins; [
# used to compile tree-sitter grammar # used to compile tree-sitter grammar
python-with-my-packages python-with-my-packages
#nodejs nodejs
clojure-lsp clojure-lsp
clojure clojure
nil nil
@ -866,7 +866,7 @@ in
zls zls
gopls gopls
gcc gcc
# nodePackages_latest.pyright nodePackages_latest.pyright
shellcheck shellcheck
proselint proselint
statix statix
@ -948,10 +948,10 @@ in
vim-sexp-mappings-for-regular-people vim-sexp-mappings-for-regular-people
fennel-vim fennel-vim
#vim-tidal vim-tidal
# experimental # experimental
nvim-luapad nvim-luapad
#scnvim scnvim
leap leap
vim-beancount vim-beancount
# vimtex # vimtex

View file

@ -1,5 +1,4 @@
{ self, pkgs, ... }: { self, pkgs, ... }: {
{
imports = [ imports = [
./configuration.nix ./configuration.nix
../profiles/core ../profiles/core
@ -72,6 +71,18 @@
}; };
}; };
services.nginx.virtualHosts."mast.mossnet.lan" = {
enableACME = false;
forceSSL = false;
locations."/" = {
extraConfig = ''
proxy_pass http://localhost:5731/;
proxy_set_header X-Forwarded-Host $host;
'';
};
};
age.secrets.box-wg.file = "${self}/secrets/box-wg.age"; age.secrets.box-wg.file = "${self}/secrets/box-wg.age";
age.secrets.box-wg.owner = "anish"; age.secrets.box-wg.owner = "anish";
age.secrets.borg-key.file = "${self}/secrets/borg-key.age"; age.secrets.borg-key.file = "${self}/secrets/borg-key.age";

View file

@ -1,5 +1,4 @@
{ self, pkgs, ... }: { self, pkgs, ... }: {
{
imports = [ imports = [
./configuration.nix ./configuration.nix
../users/anish ../users/anish
@ -17,19 +16,26 @@
# ../profiles/mount-mossnet # ../profiles/mount-mossnet
]; ];
# temporarily allow ssh access for work, to be able to do deploy new services
services.openssh = {
enable = true;
settings.PasswordAuthentication = false;
settings.PermitRootLogin = "no";
};
# import profiling tools # import profiling tools
programs.systemtap.enable = true; programs.systemtap.enable = true;
virtualisation.docker.enable = true; virtualisation.docker.enable = true;
virtualisation.docker.storageDriver = "btrfs"; virtualisation.docker.storageDriver = "btrfs";
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [ docker-compose ];
docker-compose
];
# Speed up boot by removing dependency on network # Speed up boot by removing dependency on network
systemd = { systemd = {
targets.network-online.wantedBy = pkgs.lib.mkForce [ ]; # Normally ["multi-user.target"] targets.network-online.wantedBy =
services.NetworkManager-wait-online.wantedBy = pkgs.lib.mkForce [ ]; # Normally ["network-online.target"] pkgs.lib.mkForce [ ]; # Normally ["multi-user.target"]
services.NetworkManager-wait-online.wantedBy =
pkgs.lib.mkForce [ ]; # Normally ["network-online.target"]
}; };
programs.gnupg.agent.enable = true; programs.gnupg.agent.enable = true;
@ -64,8 +70,15 @@
# lazy enable of ports necessary for KDE connect which is installed via cli home profile (for some reason?) # lazy enable of ports necessary for KDE connect which is installed via cli home profile (for some reason?)
networking.firewall = { networking.firewall = {
allowedTCPPortRanges = [{ from = 1714; to = 1764; }]; allowedTCPPorts = [ 22 ]; # allow ssh
allowedUDPPortRanges = [{ from = 1714; to = 1764; }]; allowedTCPPortRanges = [{
from = 1714;
to = 1764;
}];
allowedUDPPortRanges = [{
from = 1714;
to = 1764;
}];
}; };
age.secrets.curve-wg.file = "${self}/secrets/curve-wg.age"; age.secrets.curve-wg.file = "${self}/secrets/curve-wg.age";
@ -81,10 +94,7 @@
mossnet.backup = { mossnet.backup = {
enable = true; enable = true;
name = "curve"; name = "curve";
paths = [ paths = [ "/home/anish/usr" "/home/anish/.ssh" ];
"/home/anish/usr"
"/home/anish/.ssh"
];
}; };
# enable adb # enable adb
@ -93,7 +103,8 @@
#virtualisation.docker.enable = true; #virtualisation.docker.enable = true;
boot.blacklistedKernelModules = [ "qcserial" ]; boot.blacklistedKernelModules = [ "qcserial" ];
# Used for packer Capsul # Used for packer Capsul
users.users.anish.extraGroups = [ "adbusers" "wheel" "plugdev" "libvertd" "docker" ]; users.users.anish.extraGroups =
[ "adbusers" "wheel" "plugdev" "libvertd" "docker" ];
virtualisation.libvirtd.enable = true; virtualisation.libvirtd.enable = true;
hardware.keyboard.zsa.enable = true; hardware.keyboard.zsa.enable = true;
services.udev.extraRules = '' services.udev.extraRules = ''

View file

@ -1,15 +0,0 @@
{ pkgs, ... }:
{
imports = [
# ../profiles/core
];
environment.packages = with pkgs; [
openssh
];
nix.extraOptions = ''
experimental-features = nix-command flakes
'';
system.stateVersion = "24.05";
}

View file

@ -3,13 +3,12 @@ let
adblockLocalZones = pkgs.stdenv.mkDerivation { adblockLocalZones = pkgs.stdenv.mkDerivation {
name = "unbound-zones-adblock"; name = "unbound-zones-adblock";
src = (pkgs.fetchFromGitHub src = (pkgs.fetchFromGitHub {
{ owner = "StevenBlack";
owner = "StevenBlack"; repo = "hosts";
repo = "hosts"; rev = "3.12.21";
rev = "3.12.21"; sha256 = "Yzr6PY/zqQE+AHH0J6ioHTsgkikM+dz4aelbGpQJa1s=";
sha256 = "Yzr6PY/zqQE+AHH0J6ioHTsgkikM+dz4aelbGpQJa1s="; } + "/hosts");
} + "/hosts");
phases = [ "installPhase" ]; phases = [ "installPhase" ];
@ -19,7 +18,7 @@ let
}; };
mossnet = "192.168.1.240"; # The local lan-ip for box mossnet = "192.168.1.240"; # The local lan-ip for box
wg-mossnet = "10.0.69.4"; # The wireguard ip for box wg-mossnet = "10.0.69.4"; # The wireguard ip for box
mossnet-hosts = [ mossnet-hosts = [
"mossnet.lan" "mossnet.lan"
"headphones.mossnet.lan" "headphones.mossnet.lan"
@ -40,10 +39,10 @@ let
"grasp.mossnet.lan" "grasp.mossnet.lan"
"photos.mossnet.lan" "photos.mossnet.lan"
"pod.mossnet.lan" "pod.mossnet.lan"
"mast.mossnet.lan"
]; ];
in in {
{
services.unbound = { services.unbound = {
enable = true; enable = true;
settings = { settings = {
@ -55,7 +54,8 @@ in
cache-min-ttl = 0; cache-min-ttl = 0;
serve-expired = "yes"; serve-expired = "yes";
interface = [ "0.0.0.0" ]; interface = [ "0.0.0.0" ];
access-control = [ "127.0.0.0/8 allow" "192.168.1.0/24 allow" "10.0.69.0/24 allow" ]; access-control =
[ "127.0.0.0/8 allow" "192.168.1.0/24 allow" "10.0.69.0/24 allow" ];
access-control-view = "10.0.69.0/24 wireguard"; access-control-view = "10.0.69.0/24 wireguard";
# so-reuseport = "yes"; # so-reuseport = "yes";
tls-upstream = "yes"; tls-upstream = "yes";
@ -65,7 +65,10 @@ in
}; };
forward-zone = [{ forward-zone = [{
name = "."; name = ".";
forward-addr = [ "45.90.28.0#6939b9.dns.nextdns.io" "1.1.1.1@853#cloudflare-dns.com" ]; forward-addr = [
"45.90.28.0#6939b9.dns.nextdns.io"
"1.1.1.1@853#cloudflare-dns.com"
];
# non-tls # non-tls
# forward-addr = ["45.90.30.49" "45.90.28.49" "1.1.1.1" "8.8.8.8"] # forward-addr = ["45.90.30.49" "45.90.28.49" "1.1.1.1" "8.8.8.8"]
}]; }];

View file

@ -4,17 +4,20 @@
programs.zsh.enable = true; programs.zsh.enable = true;
users.users.anish = { users.users.anish = {
description = "Personal user for Anish"; description = "Personal user for Anish";
hashedPassword = "$y$j9T$y3DPt/dWaPE.gRazQqw1w0$1RMH5sl/Nu8kW3ZMywYCPRniHD/jF5qRh0VKrdJ.bV2"; hashedPassword =
"$y$j9T$y3DPt/dWaPE.gRazQqw1w0$1RMH5sl/Nu8kW3ZMywYCPRniHD/jF5qRh0VKrdJ.bV2";
shell = pkgs.zsh; shell = pkgs.zsh;
isNormalUser = true; isNormalUser = true;
extraGroups = [ "wheel" "audio" "networkmanager" "video" ]; extraGroups = [ "wheel" "audio" "networkmanager" "video" ];
openssh.authorizedKeys.keys = [ openssh.authorizedKeys.keys = [
# Curve # Curve
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDM0Zvei46x/yZl/IeBCq6+IYQQ0avulzVyBysF9cPigZMCybWRV7IEU+E3k9t6JrbdbdGfJkcZIWmsWDdKS8W8mBnZpVoT0ffLynu8JQ/TKdGm4Qv6bgUeKNrGsNv0ZPs2CDaGSLj0oJfRF7Ko10tcLP0vW+yujrh+y6TH/vVzJioaV4TGvtCUpn+wEQah9ROwPQLUUofsSWdnRsDJ/gp37zXWs4l5wyjSKtP3O9RZUP7kBekbSqEgSXiTk0oUQSVqIWl9NDiP6onk/gSOjXsR/JPqsSN/XI/c/yj6gyY0f51Ru2D7iBxuMJIJcWV+rU6coIj+ULcQWLzt/7TI8jq5AOOzI/ll4zbL24Eo84Rz+TP9tvMMhDZ0VaMN22AJ8qQEjc5P09tWKsX7Jg39XelyV1jHXncE4yvIE9F4RSCHzWCeKeXakizQNuzSaxTxIExRFYHjNW5bR6+3MTGwVrEIXU+qML+0yFTR86MT+tdY5AreAJQLwbog79O1NupeXJE= anish@curve" "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDM0Zvei46x/yZl/IeBCq6+IYQQ0avulzVyBysF9cPigZMCybWRV7IEU+E3k9t6JrbdbdGfJkcZIWmsWDdKS8W8mBnZpVoT0ffLynu8JQ/TKdGm4Qv6bgUeKNrGsNv0ZPs2CDaGSLj0oJfRF7Ko10tcLP0vW+yujrh+y6TH/vVzJioaV4TGvtCUpn+wEQah9ROwPQLUUofsSWdnRsDJ/gp37zXWs4l5wyjSKtP3O9RZUP7kBekbSqEgSXiTk0oUQSVqIWl9NDiP6onk/gSOjXsR/JPqsSN/XI/c/yj6gyY0f51Ru2D7iBxuMJIJcWV+rU6coIj+ULcQWLzt/7TI8jq5AOOzI/ll4zbL24Eo84Rz+TP9tvMMhDZ0VaMN22AJ8qQEjc5P09tWKsX7Jg39XelyV1jHXncE4yvIE9F4RSCHzWCeKeXakizQNuzSaxTxIExRFYHjNW5bR6+3MTGwVrEIXU+qML+0yFTR86MT+tdY5AreAJQLwbog79O1NupeXJE= anish@curve"
# Line
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDtU2GMYjXj6RGO1+mwM4TDGOo0qrKLTL4Di8+QgDX0p5vUEsnE1PS9wnuqCmSu75U8g0XIAMtvtdYyGk1N+Bx01erAZpT8DLYtIXFCyaiN28PVu5T1D0T+TQ7xgIH1qenXZR2DOQdf6kpvKEfm7+7bWhCo0N/KFMpmReubyzHDQcq/1qQasxTL+YALQFOjwKqsOTBXbHwZ103AEAcQX4ftBFEOfVli4/1aKIK4dNSZYB7J9Htq707YnsEqo9RLAMh0aOTTYgTx9AoSUDeqGuh/AGkcB7NcS7EEtI6d5YUGylwZh/gF6hqE0jl8kn2m5jMKXL3CRohZvjifue8x/GIjpu5WRabUuhBEbrfTQQaC7taHnt5rvYCGzKZx09TexUzhuz2CL480DRoxSG+P+lCNm1dIg/EZrnGEzXCSr36PlOqS5t5gm8tPkzCmZf2wU15A3ZIYUPmnYLqsn4WmIV7rKmdqt2ctWELUXow3PPiZXBucP9P3xpsYEfF1SB2SGNc= u0_a139@localhost"
# Box # Box
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKN8/SH55DBiwVoSnTU8k2Pen+wmovL9QaMyehxGEsJJv/8fzwsswGalD4C/4O51LOvdu4UKkZW5hG02uVSK+58p3UV3pOPyoqsu/aDeIsWsqmTeTzUrBIWOlNzcDKnohLz2oGC5YO+wyTJ9Iteq6aGJDjErsW7sG3h5lXCs551EmJNNGhtBQaaoytMNnWqSdlVjDNCijurH7WUpp40U/RjEp532l4rX6eIIj3jBKEFbhZkFSSjqbj4xM4SyFt+Jmigb1RMjsQjmpfY1vDtM84RcYfpTUte/T5w2dkD5H6kccmWnwKSJpm9wXfx4E7lR9APdUGnau2U1+XxiD3ytGl anish@box" "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKN8/SH55DBiwVoSnTU8k2Pen+wmovL9QaMyehxGEsJJv/8fzwsswGalD4C/4O51LOvdu4UKkZW5hG02uVSK+58p3UV3pOPyoqsu/aDeIsWsqmTeTzUrBIWOlNzcDKnohLz2oGC5YO+wyTJ9Iteq6aGJDjErsW7sG3h5lXCs551EmJNNGhtBQaaoytMNnWqSdlVjDNCijurH7WUpp40U/RjEp532l4rX6eIIj3jBKEFbhZkFSSjqbj4xM4SyFt+Jmigb1RMjsQjmpfY1vDtM84RcYfpTUte/T5w2dkD5H6kccmWnwKSJpm9wXfx4E7lR9APdUGnau2U1+XxiD3ytGl anish@box"
# Nix-on-droid line
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJOiXBPVvZAp1fY0a0Tupxj0Ml6MoA51lvqt/jAQq249 nix-on-droid@localhost"
# Work
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC/vvh0i6+uAN0GWlK6ZfyTlc/AW54xe2CroUDsDSoGnFKeIUiSsWexobODlVakNhqwCKfsvUh6g+RdA8ZVcamATcYqxysP4X5fRksmAzRm5281O7ZBDHMB2BdcfHSTgiz7JvMRIQYWDlU8Ck6IL4wlN0b2GMUj9t/GeG37us8280rxpRNoIY7M27AJEZ7XNQhctBIVujxctVBgIMYmZiTwziU7ywJv4rNT5OAWvjRXSo1rkxdvx3VESv4y/mp8m7dEupZpIjIFsLs52+UG5LtadulUqtTWg05sCw8LEcmRhflgZSAvjw60RrKFCuWxc8+/Pmaw+zExeBMenqi0NzuTc3S3k2wCKVIZDh/0tlXzIwZ6WRqxDevUtEKfvbEFMXd8akhTfYs0dyszcFRevBxOBPbcKku+FK/HkdPLmEANvxYty3cv+Eipkz3c8JPJPvXNTXrjepXMm0LUKodO3c15hGogCOxUO38kykkyYnn+MxxHparoMfEr2+oHNpQoS5wA1G43ppqjVoRDgnhleu6ixwRkLZzphY3cnOd5jL9Ie5xIGbFWH1qSlQRdHBkHjuf85z7+QK8nFYAhmG1K3Vt3GNtF8LN1tYQkfwBJ/vsroMNzGPoq4PjVbqb80Eq+96cP89XKfU2/xw1g+p2lJDm/zC1WCjXVzf8NRwC7gqPavQ== anishlakhwara@anishs-mbp.lan"
]; ];
}; };
} }