Kieran's opinionated (and probably slightly dumb) nix config

feat: add arduino tools

Changed files
+44
home-manager
moonlark
+17
flake.lock
···
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1697723726,
···
"nix-vscode-extensions": "nix-vscode-extensions",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_6",
"spicetify-nix": "spicetify-nix"
}
},
···
"type": "github"
}
},
+
"nixpkgs-unstable": {
+
"locked": {
+
"lastModified": 1722185531,
+
"narHash": "sha256-veKR07psFoJjINLC8RK4DiLniGGMgF3QMlS4tb74S6k=",
+
"owner": "nixos",
+
"repo": "nixpkgs",
+
"rev": "52ec9ac3b12395ad677e8b62106f0b98c1f8569d",
+
"type": "github"
+
},
+
"original": {
+
"owner": "nixos",
+
"ref": "nixos-unstable",
+
"repo": "nixpkgs",
+
"type": "github"
+
}
+
},
"nixpkgs_2": {
"locked": {
"lastModified": 1697723726,
···
"nix-vscode-extensions": "nix-vscode-extensions",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_6",
+
"nixpkgs-unstable": "nixpkgs-unstable",
"spicetify-nix": "spicetify-nix"
}
},
+16
flake.nix
···
inputs = {
# Nixpkgs
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
# NixOS hardware configuration
hardware.url = "github:NixOS/nixos-hardware/master";
···
outputs = {
self,
nixpkgs,
agenix,
home-manager,
nixos-hardware,
···
...
} @ inputs: let
inherit (self) outputs;
in {
# NixOS configuration entrypoint
# Available through 'nixos-rebuild --flake .#your-hostname'
nixosConfigurations = {
moonlark = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {inherit inputs outputs;};
# > Our main nixos configuration file <
modules = [
inputs.disko.nixosModules.disko
{ disko.devices.disk.disk1.device = "/dev/vda"; }
agenix.nixosModules.default
./moonlark/configuration.nix
];
};
};
···
inputs = {
# Nixpkgs
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
+
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
# NixOS hardware configuration
hardware.url = "github:NixOS/nixos-hardware/master";
···
outputs = {
self,
nixpkgs,
+
nixpkgs-unstable,
agenix,
home-manager,
nixos-hardware,
···
...
} @ inputs: let
inherit (self) outputs;
+
system = "x86_64-linux";
+
unstable-overlays = {
+
nixpkgs.overlays = [
+
(final: prev: {
+
unstable = import nixpkgs-unstable {
+
inherit system;
+
config.allowUnfree = true;
+
};
+
})
+
];
+
};
in {
# NixOS configuration entrypoint
# Available through 'nixos-rebuild --flake .#your-hostname'
nixosConfigurations = {
moonlark = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
+
specialArgs = {inherit inputs outputs;};
+
# > Our main nixos configuration file <
modules = [
inputs.disko.nixosModules.disko
{ disko.devices.disk.disk1.device = "/dev/vda"; }
agenix.nixosModules.default
./moonlark/configuration.nix
+
unstable-overlays
];
};
};
+7
home-manager/home.nix
···
github.vscode-github-actions
yoavbls.pretty-ts-errors
esbenp.prettier-vscode
];
userSettings = {
"editor.semanticHighlighting.enabled" = true;
···
"git.autofetch" = true;
"git.confirmSync" = false;
"github.copilot.editor.enableAutoCompletions" = false;
};
};
···
github.vscode-github-actions
yoavbls.pretty-ts-errors
esbenp.prettier-vscode
+
vsciot-vscode.vscode-arduino
+
ms-vscode.cpptools
+
ms-vscode.vscode-serial-monitor
];
userSettings = {
"editor.semanticHighlighting.enabled" = true;
···
"git.autofetch" = true;
"git.confirmSync" = false;
"github.copilot.editor.enableAutoCompletions" = false;
+
+
"[json]" = {
+
"editor.defaultFormatter" = "esbenp.prettier-vscode";
+
};
};
};
+4
moonlark/configuration.nix
···
lib,
config,
pkgs,
...
}: {
# You can import other NixOS modules here
···
pkgs.alacritty
pkgs.zsh
pkgs.starship
pkgs.swww
pkgs.sunwait
pkgs.sunpaper
···
pkgs.go
pkgs.bun
pkgs.pitivi
];
services.gnome.gnome-keyring.enable = true;
···
lib,
config,
pkgs,
+
pkgs-unstable,
...
}: {
# You can import other NixOS modules here
···
pkgs.alacritty
pkgs.zsh
pkgs.starship
+
pkgs.gh
pkgs.swww
pkgs.sunwait
pkgs.sunpaper
···
pkgs.go
pkgs.bun
pkgs.pitivi
+
pkgs.unstable.arduino-ide
+
pkgs.unstable.arduino-cli
];
services.gnome.gnome-keyring.enable = true;