Compare commits
1 commit
main
...
nix-on-dro
Author | SHA1 | Date | |
---|---|---|---|
2ed248f005 |
162
flake.lock
162
flake.lock
|
@ -284,6 +284,29 @@
|
||||||
"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",
|
||||||
|
@ -305,6 +328,34 @@
|
||||||
"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,
|
||||||
|
@ -352,6 +403,38 @@
|
||||||
"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,
|
||||||
|
@ -368,6 +451,60 @@
|
||||||
"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,
|
||||||
|
@ -390,11 +527,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731920409,
|
"lastModified": 1727650805,
|
||||||
"narHash": "sha256-bMjdNGoWJXaWIGtfxcODmmrNoONnwN3hS73cDTRC1Pk=",
|
"narHash": "sha256-TJrDfSAFbvXFo5rxtpjoly2zIuTYDcSslTPlpuJIi2o=",
|
||||||
"ref": "main",
|
"ref": "main",
|
||||||
"rev": "a87e348a46fd04dbe35ee9accf710eeec42ecbb6",
|
"rev": "0042ec1158d06dad913d59682cbf987583919549",
|
||||||
"revCount": 1530,
|
"revCount": 1487,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "ssh://gitea@git.sealight.xyz/aynish/kitaab"
|
"url": "ssh://gitea@git.sealight.xyz/aynish/kitaab"
|
||||||
},
|
},
|
||||||
|
@ -414,6 +551,7 @@
|
||||||
"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",
|
||||||
|
@ -444,6 +582,22 @@
|
||||||
"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
151
flake.nix
|
@ -7,8 +7,9 @@
|
||||||
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";
|
||||||
|
|
||||||
# ngipkgs.url = "github:Chickensoupwithrice/ngipkgs?ref=aynish/atomic-server-module";
|
nix-on-droid.url = "github:nix-community/nix-on-droid/release-24.05";
|
||||||
# ngipkgs-local.url = "path:/home/anish/usr/ngipkgs";
|
nix-on-droid.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
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";
|
||||||
|
@ -27,8 +28,7 @@
|
||||||
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 =
|
vimwikicli.url = "git+ssh://gitea@git.sealight.xyz/aynish/vimwiki-cli?ref=main";
|
||||||
"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,9 +55,25 @@
|
||||||
# muneem.inputs.nixpkgs.follows = "nixpkgs";
|
# muneem.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, unstable, nixos-hardware, home-manager, deploy-rs
|
outputs =
|
||||||
, agenix, disko, basant, grasp, nix-matrix-appservices, nur, tidalcycles
|
{ self
|
||||||
, rust-overlay, vimwikicli, ... }@inputs:
|
, nixpkgs
|
||||||
|
, 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"
|
||||||
|
@ -75,59 +91,59 @@
|
||||||
vimwiki-cli = vimwikicli.packages.${prev.system}.vimwiki-cli;
|
vimwiki-cli = vimwikicli.packages.${prev.system}.vimwiki-cli;
|
||||||
};
|
};
|
||||||
|
|
||||||
nixpkgsFor = forAllSystems (system:
|
nixpkgsFor = forAllSystems (system: import nixpkgs {
|
||||||
import nixpkgs {
|
inherit system;
|
||||||
inherit system;
|
config.allowUnfreePredicate = pkg: builtins.elem (nixpkgs.lib.getName pkg) [
|
||||||
config.allowUnfreePredicate = pkg:
|
"ripcord"
|
||||||
builtins.elem (nixpkgs.lib.getName pkg) [
|
"vcv-rack"
|
||||||
"ripcord"
|
"SunVox"
|
||||||
"vcv-rack"
|
"renoise"
|
||||||
"SunVox"
|
];
|
||||||
"renoise"
|
# config.permittedInsecurePackages = [
|
||||||
];
|
# "python3.10-django-3.1.14" # Needed for archivebox deployments on curve
|
||||||
# config.permittedInsecurePackages = [
|
# # Check when archive box updates it's dependeny
|
||||||
# "python3.10-django-3.1.14" # Needed for archivebox deployments on curve
|
# ];
|
||||||
# # Check when archive box updates it's dependeny
|
overlays = [
|
||||||
# ];
|
rust-overlay.overlays.default
|
||||||
overlays = [
|
tidalcycles.overlays.default
|
||||||
rust-overlay.overlays.default
|
agenix.overlays.default
|
||||||
tidalcycles.overlays.default
|
nur.overlay
|
||||||
agenix.overlays.default
|
nix-matrix-appservices.overlay
|
||||||
nur.overlay
|
unstableOverlay
|
||||||
nix-matrix-appservices.overlay
|
vimwikiOverlay
|
||||||
unstableOverlay
|
self.overlays.additions
|
||||||
vimwikiOverlay
|
self.overlays.modifications
|
||||||
self.overlays.additions
|
];
|
||||||
self.overlays.modifications
|
});
|
||||||
];
|
|
||||||
});
|
|
||||||
|
|
||||||
# for when space matters
|
# for when space matters
|
||||||
litePkgsFor = forAllSystems (system:
|
litePkgsFor = forAllSystems (system: import nixpkgs {
|
||||||
import nixpkgs {
|
inherit system;
|
||||||
inherit system;
|
# config.permittedInsecurePackages = [
|
||||||
# config.permittedInsecurePackages = [
|
# "forgejo-1.19.4-0" # Needed for archivebox deployments on curve
|
||||||
# "forgejo-1.19.4-0" # Needed for archivebox deployments on curve
|
# # Check when archive box updates it's dependeny
|
||||||
# # Check when archive box updates it's dependeny
|
# ];
|
||||||
# ];
|
overlays = [
|
||||||
overlays = [
|
agenix.overlays.default
|
||||||
agenix.overlays.default
|
self.overlays.additions
|
||||||
self.overlays.additions
|
self.overlays.modifications
|
||||||
self.overlays.modifications
|
tidalcycles.overlays.default # needed for nvim which comes pre-installed lol
|
||||||
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;
|
||||||
|
@ -219,7 +235,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/dev;
|
home-manager.users.anish = import ./home/core;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
@ -229,13 +245,28 @@
|
||||||
# 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 =
|
pkgs = nixpkgsFor."x86_64-linux"; # Home-manager requires 'pkgs' instance
|
||||||
nixpkgsFor."x86_64-linux"; # Home-manager requires 'pkgs' instance
|
|
||||||
extraSpecialArgs = { inherit inputs; };
|
extraSpecialArgs = { inherit inputs; };
|
||||||
modules = [ ./home/core.nix ./home/profiles/firefox ];
|
modules = [
|
||||||
|
./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";
|
||||||
|
@ -244,8 +275,7 @@
|
||||||
remoteBuild = true;
|
remoteBuild = true;
|
||||||
profiles.system = {
|
profiles.system = {
|
||||||
user = "root";
|
user = "root";
|
||||||
path = deploy-rs.lib.x86_64-linux.activate.nixos
|
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.box;
|
||||||
self.nixosConfigurations.box;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
lituus = {
|
lituus = {
|
||||||
|
@ -253,8 +283,7 @@
|
||||||
# autoRollback = false;
|
# autoRollback = false;
|
||||||
profiles.system = {
|
profiles.system = {
|
||||||
user = "root";
|
user = "root";
|
||||||
path = deploy-rs.lib.x86_64-linux.activate.nixos
|
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.lituus;
|
||||||
self.nixosConfigurations.lituus;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
helix = {
|
helix = {
|
||||||
|
@ -263,13 +292,11 @@
|
||||||
magicRollback = false;
|
magicRollback = false;
|
||||||
profiles.system = {
|
profiles.system = {
|
||||||
user = "root";
|
user = "root";
|
||||||
path = deploy-rs.lib.x86_64-linux.activate.nixos
|
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.helix;
|
||||||
self.nixosConfigurations.helix;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
checks = builtins.mapAttrs
|
checks = builtins.mapAttrs (system: deployLib: deployLib.deployChecks self.deploy) deploy-rs.lib;
|
||||||
(system: deployLib: deployLib.deployChecks self.deploy) deploy-rs.lib;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
../profiles/cli
|
../profiles/cli
|
||||||
../profiles/direnv
|
../profiles/direnv
|
||||||
../profiles/git
|
../profiles/git
|
||||||
|
../profiles/nvim
|
||||||
];
|
];
|
||||||
home.stateVersion = "22.05";
|
home.stateVersion = "22.05";
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
{ self, pkgs, ... }: {
|
|
||||||
imports =
|
|
||||||
[ ../profiles/cli ../profiles/nvim ../profiles/direnv ../profiles/git ];
|
|
||||||
home.stateVersion = "22.05";
|
|
||||||
}
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{ self, pkgs, ... }: {
|
{ self, pkgs, ... }:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./configuration.nix
|
./configuration.nix
|
||||||
../profiles/core
|
../profiles/core
|
||||||
|
@ -47,7 +48,7 @@
|
||||||
"/data/books" # calibre-web
|
"/data/books" # calibre-web
|
||||||
# "/home/anish/usr/nonfiction" # syncthing
|
# "/home/anish/usr/nonfiction" # syncthing
|
||||||
"/home/anish/usr/finance" # beancount
|
"/home/anish/usr/finance" # beancount
|
||||||
"/mnt/two/postgres" # sealight postgres backups TODO remove once moved to capsul
|
"/mnt/two/postgres" # sealight postgres backups TODO remove once moved to capsul
|
||||||
];
|
];
|
||||||
# seafile
|
# seafile
|
||||||
};
|
};
|
||||||
|
@ -71,18 +72,6 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
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";
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{ self, pkgs, ... }: {
|
{ self, pkgs, ... }:
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./configuration.nix
|
./configuration.nix
|
||||||
../users/anish
|
../users/anish
|
||||||
|
@ -16,26 +17,19 @@
|
||||||
# ../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; [ docker-compose ];
|
environment.systemPackages = with pkgs; [
|
||||||
|
docker-compose
|
||||||
|
];
|
||||||
|
|
||||||
# Speed up boot by removing dependency on network
|
# Speed up boot by removing dependency on network
|
||||||
systemd = {
|
systemd = {
|
||||||
targets.network-online.wantedBy =
|
targets.network-online.wantedBy = pkgs.lib.mkForce [ ]; # Normally ["multi-user.target"]
|
||||||
pkgs.lib.mkForce [ ]; # Normally ["multi-user.target"]
|
services.NetworkManager-wait-online.wantedBy = pkgs.lib.mkForce [ ]; # Normally ["network-online.target"]
|
||||||
services.NetworkManager-wait-online.wantedBy =
|
|
||||||
pkgs.lib.mkForce [ ]; # Normally ["network-online.target"]
|
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.gnupg.agent.enable = true;
|
programs.gnupg.agent.enable = true;
|
||||||
|
@ -70,15 +64,8 @@
|
||||||
|
|
||||||
# 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 = {
|
||||||
allowedTCPPorts = [ 22 ]; # allow ssh
|
allowedTCPPortRanges = [{ from = 1714; to = 1764; }];
|
||||||
allowedTCPPortRanges = [{
|
allowedUDPPortRanges = [{ from = 1714; to = 1764; }];
|
||||||
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";
|
||||||
|
@ -94,7 +81,10 @@
|
||||||
mossnet.backup = {
|
mossnet.backup = {
|
||||||
enable = true;
|
enable = true;
|
||||||
name = "curve";
|
name = "curve";
|
||||||
paths = [ "/home/anish/usr" "/home/anish/.ssh" ];
|
paths = [
|
||||||
|
"/home/anish/usr"
|
||||||
|
"/home/anish/.ssh"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
# enable adb
|
# enable adb
|
||||||
|
@ -103,8 +93,7 @@
|
||||||
#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 =
|
users.users.anish.extraGroups = [ "adbusers" "wheel" "plugdev" "libvertd" "docker" ];
|
||||||
[ "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 = ''
|
||||||
|
|
15
hosts/droid/default.nix
Normal file
15
hosts/droid/default.nix
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# ../profiles/core
|
||||||
|
];
|
||||||
|
environment.packages = with pkgs; [
|
||||||
|
openssh
|
||||||
|
];
|
||||||
|
|
||||||
|
nix.extraOptions = ''
|
||||||
|
experimental-features = nix-command flakes
|
||||||
|
'';
|
||||||
|
|
||||||
|
system.stateVersion = "24.05";
|
||||||
|
}
|
|
@ -3,12 +3,13 @@ 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";
|
{
|
||||||
repo = "hosts";
|
owner = "StevenBlack";
|
||||||
rev = "3.12.21";
|
repo = "hosts";
|
||||||
sha256 = "Yzr6PY/zqQE+AHH0J6ioHTsgkikM+dz4aelbGpQJa1s=";
|
rev = "3.12.21";
|
||||||
} + "/hosts");
|
sha256 = "Yzr6PY/zqQE+AHH0J6ioHTsgkikM+dz4aelbGpQJa1s=";
|
||||||
|
} + "/hosts");
|
||||||
|
|
||||||
phases = [ "installPhase" ];
|
phases = [ "installPhase" ];
|
||||||
|
|
||||||
|
@ -18,7 +19,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"
|
||||||
|
@ -39,10 +40,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 = {
|
||||||
|
@ -54,8 +55,7 @@ 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 =
|
access-control = [ "127.0.0.0/8 allow" "192.168.1.0/24 allow" "10.0.69.0/24 allow" ];
|
||||||
[ "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,10 +65,7 @@ in {
|
||||||
};
|
};
|
||||||
forward-zone = [{
|
forward-zone = [{
|
||||||
name = ".";
|
name = ".";
|
||||||
forward-addr = [
|
forward-addr = [ "45.90.28.0#6939b9.dns.nextdns.io" "1.1.1.1@853#cloudflare-dns.com" ];
|
||||||
"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"]
|
||||||
}];
|
}];
|
||||||
|
|
|
@ -4,20 +4,17 @@
|
||||||
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 =
|
hashedPassword = "$y$j9T$y3DPt/dWaPE.gRazQqw1w0$1RMH5sl/Nu8kW3ZMywYCPRniHD/jF5qRh0VKrdJ.bV2";
|
||||||
"$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"
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue