initial commit

main
netali 2023-09-08 17:54:07 +02:00
commit 36c09a2218
Signed by: netali
GPG Key ID: 9C55E636426B40A9
4 changed files with 126 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
result

27
flake.lock Normal file
View File

@ -0,0 +1,27 @@
{
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1693985761,
"narHash": "sha256-K5b+7j7Tt3+AqbWkcw+wMeqOAWyCD1MH26FPZyWXpdo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "0bffda19b8af722f8069d09d8b6a24594c80b352",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

15
flake.nix Normal file
View File

@ -0,0 +1,15 @@
{
description = "NixOS ISO of netali";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
};
outputs = { self, nixpkgs }@inputs: {
iso = (nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = inputs;
modules = [ ./iso.nix ];
}).config.system.build.isoImage;
};
}

83
iso.nix Normal file
View File

@ -0,0 +1,83 @@
{ pkgs, lib, config, modulesPath, ... }:
{
imports = [
(modulesPath + "/installer/cd-dvd/installation-cd-base.nix")
];
disabledModules = [
"profiles/base.nix"
];
networking.hostName = "netalis-nixos-iso";
isoImage.isoBaseName = "netalis-nixos-iso";
boot.supportedFilesystems =
[ "btrfs" "cifs" "f2fs" "jfs" "ntfs" "reiserfs" "vfat" "xfs" ] ++
lib.optional (lib.meta.availableOn pkgs.stdenv.hostPlatform config.boot.zfs.package) "zfs";
# Configure host id for ZFS to work
networking.hostId = lib.mkDefault "8425e349";
environment.systemPackages = with pkgs; [
pkgs.w3m-nographics # needed for the manual anyway
pkgs.testdisk # useful for repairing boot problems
pkgs.ms-sys # for writing Microsoft boot sectors / MBRs
pkgs.efibootmgr
pkgs.efivar
pkgs.parted
pkgs.gptfdisk
pkgs.ddrescue
pkgs.ccrypt
pkgs.cryptsetup # needed for dm-crypt volumes
# Some text editors.
(pkgs.vim.customize {
name = "vim";
vimrcConfig.customRC = ''
filetype plugin indent on
set tabstop=4
set shiftwidth=4
set expandtab
set modeline
set modelines=1
set encoding=utf-8
syntax on
au BufRead,BufNewFile *.nix set ts=2 sw=2
'';
})
# Some networking tools.
pkgs.fuse
pkgs.fuse3
pkgs.sshfs-fuse
pkgs.socat
pkgs.screen
pkgs.tcpdump
# Hardware-related tools.
pkgs.sdparm
pkgs.hdparm
pkgs.smartmontools # for diagnosing hard disks
pkgs.pciutils
pkgs.usbutils
pkgs.nvme-cli
# Some compression/archiver tools.
pkgs.unzip
pkgs.zip
];
time.timeZone = "Europe/Berlin";
i18n.defaultLocale = "en_US.UTF-8";
console = {
font = "Lat2-Terminus16";
keyMap = "de-latin1";
};
users.users.root.openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOV4f3/OcNQIHqomvH0nGLDmXDlrO/u7JKE9Fgq2Vuqs me@netali.de" ];
networking.dhcpcd.enable = false;
networking.useDHCP = false;
}