feat: add distributed-builds & many hosts

feat: remove nur & devenv
feat: adjust the structure to make it suitable for servers
feat: add iso/proxmox generators and add docs about it
feat: update ryan's openssh keys & add hashedPassword
feat: add proxmox's nodes into ssh_config, with alias
This commit is contained in:
Ryan Yin
2023-06-17 03:07:59 +08:00
parent a5f0922ba7
commit 45a7973553
48 changed files with 736 additions and 685 deletions

View File

@@ -0,0 +1,10 @@
{ ... }:
{
imports = [
../server
./development.nix
./media.nix
];
}

View File

@@ -1,6 +1,16 @@
{ config, pkgs, nil, ... }:
{ pkgs, nil, ... }:
{
#############################################################
#
# Basic settings for development environment
#
# Please avoid to install language specific packages here(globally),
# instead, install them independently using dev-templates:
# https://github.com/the-nix-way/dev-templates
#
#############################################################
home.packages = with pkgs; [
nil.packages."${pkgs.system}".default # nix language server
@@ -30,33 +40,11 @@
gnumake # used by this repo, to simplify the deployment
clang-tools
clang-analyzer
# lldb
# cmake
# autoconf
# automake
# bison
# cppcheck
# fakeroot
# flex
# gettext
# groff
# libtool
# m4
# patch
# pkgconf
# texinfo
# binutils
# Golang
delve
go
go-outline
go-tools
go2nix
gomodifytags
delve
gopls
gotests
impl
# Rust
rustup
@@ -67,6 +55,7 @@
pandas
requests
pyquery
pyyaml
]))
# db related
@@ -79,15 +68,6 @@
# embedded development
minicom
# other languages
# julia
zig
# elixir
# solidity
# java
# adoptopenjdk-openj9-bin-17
# other tools
k6 # load testing tool
mitmproxy # http/https proxy tool
@@ -118,9 +98,4 @@
enableNushellIntegration = true;
};
};
# GitHub CLI tool
programs.gh = {
enable = true;
};
}

View File

@@ -1,4 +1,4 @@
{ config, pkgs, ... }:
{ pkgs, ... }:
{
home.packages = with pkgs; [

View File

@@ -1,4 +1,4 @@
{ config, pkgs, ... }:
{ ... }:
{
imports = [
./nushell
@@ -6,9 +6,7 @@
./bash.nix
./core.nix
./development.nix
./git.nix
./media.nix
./starship.nix
];

View File

@@ -1,8 +1,8 @@
{ pkgs, ... }:
{ ... }:
{
imports = [
../base
../base/desktop
./alacritty
./core.nix

View File

@@ -1,20 +0,0 @@
{ config, pkgs, nil, ... }:
{
home.packages = with pkgs; [
nil.packages."${pkgs.system}".default # nix language server
# GUI IDE
insomnia # REST client
# need to run `conda-install` before using it
# need to run `conda-shell` before using command `conda`
# conda is not available for MacOS
conda
];
# GitHub CLI tool
programs.gh = {
enable = true;
};
}

View File

@@ -28,6 +28,18 @@
# Specifies that ssh should only use the identity file explicitly configured above
# required to prevent sending default identity files first.
IdentitiesOnly yes
Host gtr5
HostName 192.168.5.172
Port 22
Host um560
HostName 192.168.5.173
Port 22
Host s500plus
HostName 192.168.5.174
Port 22
'';
# use ssh-agent so we only need to input passphrase once

View File

@@ -1,4 +1,4 @@
{ pkgs, config, ... }:
{ pkgs, ... }:
{
@@ -6,15 +6,18 @@
home.packages = with pkgs; [
btop # replacement of htop/nmon
htop
iotop
nmon
## networking tools
wireguard-tools # manage wireguard vpn manually, via wg-quick
iotop
iftop
# misc
libnotify
wireguard-tools # manage wireguard vpn manually, via wg-quick
# need to run `conda-install` before using it
# need to run `conda-shell` before using command `conda`
# conda is not available for MacOS
conda
# system call monitoring
strace # system call monitoring
@@ -29,8 +32,6 @@
usbutils # lsusb
hdparm # for disk performance, command
dmidecode # a tool that reads information about your system's hardware from the BIOS according to the SMBIOS/DMI standard
cifs-utils # for mounting windows shares
];
# auto mount usb drives

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }:
{ ... }:
{
programs.alacritty = {

View File

@@ -1,7 +1,4 @@
{ pkgs
, config
, ...
}:
{ pkgs, ... }:
{
home.packages = with pkgs; [
# creative

View File

@@ -1,13 +1,16 @@
{ pkgs, ... }:
{
imports = [
./alacritty
./creative.nix
./media.nix
];
home.packages = with pkgs; [
# networking
wireshark
# GUI apps
insomnia # REST client
wireshark # network analyzer
# e-book viewer(.epub/.mobi/...)
# do not support .pdf
@@ -25,4 +28,9 @@
# misc
flameshot
];
# GitHub CLI tool
programs.gh = {
enable = true;
};
}

View File

@@ -1,8 +1,5 @@
{ pkgs
, config
, lib
, ...
}: {
{ pkgs, ...}:
{
imports = [
./wayland-apps.nix
];
@@ -51,4 +48,3 @@
};
}

View File

@@ -1,8 +1,5 @@
{ pkgs
, config
, lib
, ...
}: {
{ pkgs, ...}:
{
# i3 配置,基于 https://github.com/endeavouros-team/endeavouros-i3wm-setup
# 直接从当前文件夹中读取配置文件作为配置内容

30
home/linux/server.nix Normal file
View File

@@ -0,0 +1,30 @@
{ ... }:
{
imports = [
../base/server
./base/shell.nix
./base/system-tools.nix
];
# Home Manager needs a bit of information about you and the
# paths it should manage.
home = {
username = "ryan";
homeDirectory = "/home/ryan";
# This value determines the Home Manager release that your
# configuration is compatible with. This helps avoid breakage
# when a new Home Manager release introduces backwards
# incompatible changes.
#
# You can update Home Manager without changing this value. See
# the Home Manager release notes for a list of state version
# changes in each release.
stateVersion = "22.11";
};
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
}

View File

@@ -1,16 +1,14 @@
{ config, pkgs, ... }:
{ ... }:
{
imports = [
../base
../base/desktop
./hyprland
./fcitx5
./desktop
./base/alacritty
./base/development.nix
./base/shell.nix
./base/ssh.nix
./base/system-tools.nix

View File

@@ -1,16 +1,14 @@
{ config, pkgs, ... }:
{ ... }:
{
imports = [
../base
../base/desktop
./i3
./fcitx5
./desktop
./base/alacritty
./base/development.nix
./base/shell.nix
./base/ssh.nix
./base/system-tools.nix