diff --git a/flake.nix b/flake.nix index 3464b00..e5bd48c 100644 --- a/flake.nix +++ b/flake.nix @@ -60,6 +60,7 @@ }; in { nixosConfigurations.noximilien = mkConfig "noximilien" "x86_64-linux" (with nixos-hardware.nixosModules; [ common-pc common-pc-ssd common-cpu-intel ]); + nixosConfigurations.bolle = mkConfig "bolle" "x86_64-linux" (with nixos-hardware.nixosModules; [ common-pc common-pc-ssd common-cpu-intel ]); homeConfigurations = forAllSystems (system: { pbsds = home-manager.lib.homeManagerConfiguration { pkgs = nixpkgs.legacyPackages.${system}; diff --git a/hosts/bolle/default.nix b/hosts/bolle/default.nix new file mode 100644 index 0000000..d6a1507 --- /dev/null +++ b/hosts/bolle/default.nix @@ -0,0 +1,185 @@ +{ config, pkgs, lib, ... }: +{ + imports = [ + ./hardware-configuration.nix + + ../../users # home-manager + ../../users/pbsds + + ../../hardware/opengl-intel.nix + + /** / + ../../profiles/web + ../../profiles/web/index + ../../profiles/web/docs + ../../profiles/web/docs/pdoc.nix + ../../profiles/web/docs/python-docs.nix + ../../profiles/web/docs/nixpkgs.nix + ../../profiles/web/docs/linux-docs.nix + ../../profiles/web/docs/yagcd.nix + /**/ + + #../../profiles/domeneshop-dyndns # TODO: olavtr is hardcoded... + #../../profiles/code-remote + #../../profiles/remote-builders # + #../../profiles/autossh-reverse-tunnels + ]; + + # run/build weird binaries + boot.binfmt.emulatedSystems = [ + "wasm32-wasi" + "wasm64-wasi" + "x86_64-windows" + "aarch64-linux" + "riscv64-linux" + #"x86_64-darwin" + #"aarch64-darwin" + ]; + + services.thermald.enable = true; + + # Virtualization + #virtualisation.podman.enable = true; + #virtualisation.podman.dockerCompat = true; # alias docker to podman + #virtualisation.oci-containers.backend = "podman"; + + # Networking + networking.networkmanager.enable = true; + #networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + #networking.iwd.enable = true + networking.interfaces.eno1.ipv4.addresses = [ + { address = "129.241.105.252"; prefixLength = 23; } + ]; + networking.nameservers = [ + "129.241.0.200" + "129.241.0.201" + #"2001:700:300::200" + #"2001:700:300::201" + "8.8.8.8" + "1.1.1.1" + ]; + networking.defaultGateway = { + address = "192.168.1.254"; + interface = "eno1"; + }; + #networking.useDHCP = true; + + # Installed system packages + # TODO: prune this, make home-manager deal with the majority + environment.systemPackages = with pkgs; [ + lsof + lshw + htop + file + tmux + #parallel # already provided by moreutils + pwgen + git + nmap + rsync + bind.dnsutils + graphviz + dialog + cowsay + gnused + gnumake + coreutils-full + moreutils + binutils + diffutils + findutils + usbutils + bash-completion + curl + wget + strace + killall + + zip + unrar + unzip + atool + p7zip + bzip2 + gzip + atool + + micro + aspell aspellDicts.en aspellDicts.nb + vimv + dos2unix + #rmate # TODO: add to nixpkgs + pandoc + cargo + cargo-edit + sqlite + #sshuttle + visidata + + weston + cage + vimix-gtk-themes + flat-remix-icon-theme + xclip + feh + + sshfs + + glances + zenith + tealdeer # tldr + entr + axel aria + bat + xe # xargs alternative + sd # sed alternative + fd # find alternative + silver-searcher # `ag` + ripgrep + jq + yq + htmlq + sysz + du-dust # du alternative + ncdu # Disk usage analyzer with an ncurses interface + + gh + hub + + cachix + nix-output-monitor + nix-prefetch + nix-top + #nix-index + nix-tree + nix-diff + nixfmt + alejandra + ]; + + # TODO: remove? Move? + programs.dconf.enable = true; + + # OpenSSH + services.openssh.enable = true; + services.openssh.forwardX11 = true; + + # System fonts + # Nice to have when X-forwading on headless machines + # TODO: move? + fonts.fonts = with pkgs; [ + noto-fonts # includes Cousine + noto-fonts-cjk + noto-fonts-emoji + noto-fonts-extra + dejavu_fonts + ]; + + # This value determines the NixOS release from which the default + # settings for stateful data, like file locations and database versions + # on your system were taken. It's perfectly fine and recommended to leave + # this value at the release version of the first install of this system. + # Before changing this value read the documentation for this option + # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). + system.stateVersion = "22.11"; # Did you read the comment? +} diff --git a/hardware-configuration.nix b/hosts/bolle/hardware-configuration.nix similarity index 88% rename from hardware-configuration.nix rename to hosts/bolle/hardware-configuration.nix index 9beaa22..61a5153 100644 --- a/hardware-configuration.nix +++ b/hosts/bolle/hardware-configuration.nix @@ -14,12 +14,12 @@ boot.extraModulePackages = [ ]; fileSystems."/" = - { device = "/dev/disk/by-uuid/fa5f2e24-ab42-4a5f-bf8c-be699b980457"; + { device = "/dev/disk/by-uuid/965176f0-f3d7-4826-bca2-f4747f3b668c"; fsType = "ext4"; }; swapDevices = - [ { device = "/dev/disk/by-uuid/5b00f5ca-f7a8-4a69-a93b-8e68d9e369e7"; } + [ { device = "/dev/disk/by-uuid/506bac78-d400-4192-911a-915d7d257da4"; } ]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking