feat: Added new default template that is devShell based.

This commit is contained in:
Spencer Brower
2023-08-30 15:07:38 -04:00
parent 0c885b7b2a
commit aebb57e4be
6 changed files with 83 additions and 20 deletions

1
templates/default/.envrc Normal file
View File

@@ -0,0 +1 @@
use flake

View File

@@ -1 +1,4 @@
.direnv
.vagrant
node_modules
vendor

View File

@@ -11,24 +11,16 @@
outputs = { self, flake-utils, nixpkgs, sbrow }:
flake-utils.lib.eachSystem flake-utils.lib.allSystems
(system: {
formatter = nixpkgs.legacyPackages.${system}.nixpkgs-fmt;
}) // {
nixosModules.default = { config, pkgs, ... }: {
config = {
environment.systemPackages = [ pkgs.git ];
/* Your config here */
};
};
(system:
let pkgs = nixpkgs.legacyPackages.${system}; in
{
formatter = pkgs.nixpkgs-fmt;
# A Vagrant box for testing
nixosConfigurations.vagrant = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
(nixpkgs + "/nixos/modules/virtualisation/virtualbox-image.nix")
sbrow.nixosModules.vagrant
self.nixosModules.default
devShells.default = pkgs.mkShell
{
buildInputs = with pkgs; [
# Your packages here
];
};
};
});
}

1
templates/vagrant/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.vagrant

32
templates/vagrant/Vagrantfile vendored Normal file
View File

@@ -0,0 +1,32 @@
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "nixos"
# Disable automatic box update checking. If you disable this, then
# boxes will only be checked for updates when the user runs
# `vagrant box outdated`. This is not recommended.
# config.vm.box_check_update = false
# config.vm.network "forwarded_port", guest: 80, host: 80
# config.vm.network "forwarded_port", guest: 443, host: 443
config.vm.network "private_network", ip: "192.168.56.44", auto_config: false
# config.vm.network "public_network"
config.vm.provider "virtualbox" do |vb|
# Display the VirtualBox GUI when booting the machine
vb.gui = false
# Customize the amount of memory on the VM:
# vb.memory = 4 * 1024
# vb.cpus = 2;
end
config.vm.provision "shell", inline: <<-SHELL
# nix develop 'nixpkgs#git' --command "sudo nixos-rebuild switch --flake /vagrant#vagrant"
nix-shell -p git --command "sudo nixos-rebuild switch --flake /vagrant#vagrant"
SHELL
end

View File

@@ -0,0 +1,34 @@
{
description = "A very basic flake";
inputs = {
# nixpkgs.url = "github:NixOS/nixpkgs/23.05";
sbrow.url = "github:sbrow/nix";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, flake-utils, nixpkgs, sbrow }:
flake-utils.lib.eachSystem flake-utils.lib.allSystems
(system: {
formatter = nixpkgs.legacyPackages.${system}.nixpkgs-fmt;
}) // {
nixosModules.default = { config, pkgs, ... }: {
config = {
environment.systemPackages = [ pkgs.git ];
/* Your config here */
};
};
# A Vagrant box for testing
nixosConfigurations.vagrant = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
(nixpkgs + "/nixos/modules/virtualisation/virtualbox-image.nix")
sbrow.nixosModules.vagrant
self.nixosModules.default
];
};
};
}