update system

This commit is contained in:
2023-11-27 09:25:12 +01:00
parent c03c8ab0c7
commit 2add7857f2
13 changed files with 116 additions and 13 deletions

44
ctl.sh
View File

@@ -12,6 +12,11 @@
## gc Garbage collect old generations ## gc Garbage collect old generations
## vm Build and run as VM ## vm Build and run as VM
## ##
## ~> vm
##
## build Build virtual machine
## run Run virtual machine
##
## ~> store ## ~> store
## ##
## gc Collecting garbage in nix-store ## gc Collecting garbage in nix-store
@@ -22,6 +27,13 @@
## ##
## run NAME Run a nix-shell from ./shell/ ## run NAME Run a nix-shell from ./shell/
RED="31"
GREEN="32"
GREENBLD="\e[1;${GREEN}m"
REDBOLD="\e[1;${RED}m"
REDITALIC="\e[3;${RED}m"
EC="\e[0m"
function info { function info {
clear clear
cat motd cat motd
@@ -31,15 +43,16 @@ function info {
function os { function os {
function test { function test {
sudo nixos-rebuild --flake ./os#nixos test sudo nixos-rebuild --flake ./os#${1} test
} }
function rebuild { function rebuild {
echo "Rebuild OS config: ${1}" echo "Rebuild OS config: ${1}"
sudo nixos-rebuild --flake ./os#${1} switch sudo nixos-rebuild --flake ./os#${1} switch
} }
function upgrade { function upgrade {
echo "Upgrade channels and rebuild OS" echo "Upgrade channels and rebuild ${1}"
sudo nixos-rebuild --upgrade --flake ./os#nixos switch sudo nix-channel --update
sudo nixos-rebuild --upgrade --flake ./os#${1} switch
} }
function changes { function changes {
nix profile diff-closures --profile /nix/var/nix/profiles/system nix profile diff-closures --profile /nix/var/nix/profiles/system
@@ -48,10 +61,17 @@ function os {
sudo nix-collect-garbage -d sudo nix-collect-garbage -d
sudo nixos-rebuild switch sudo nixos-rebuild switch
} }
function vm { ${@}
echo "Build and run configuration as VM" }
rm *.qcow2
nixos-rebuild build-vm --flake ./os#nixos && result/bin/run-*-vm function vm {
function build {
echo "Build configuration ${1} as VM"
#rm *.qcow2
nixos-rebuild build-vm --flake ./os#${1}
}
function run {
result/bin/run-*-vm
} }
${@} ${@}
} }
@@ -78,4 +98,14 @@ function shell {
${@} ${@}
} }
function repl {
info
echo -e "\n${REDBOLD}Enter command...${EC}"
read -p '~> ';
clear
./ctl.sh ${REPLY}
read -p "Press any key to continue."
repl
}
${@:-info} ${@:-info}

View File

@@ -14,19 +14,23 @@
modules = [ modules = [
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
./configuration.nix ./configuration.nix
./hw/lenovo-thinkpad-e14.nix ./hardware/lenovo-thinkpad-e14.nix
./system/base.nix ./system/base.nix
./system/packages.nix
./system/desktop/plasma.nix
./users/demo.nix ./users/demo.nix
./users/master.nix ./users/master.nix
]; ];
}; };
testos = nixpkgs.lib.nixosSystem { gnome = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
modules = [ modules = [
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
./configuration.nix ./configuration.nix
./hw/lenovo-thinkpad-e14.nix ./hardware/lenovo-thinkpad-e14.nix
./system/base.nix ./system/base.nix
./system/packages.nix
./system/desktop/gnome.nix
./users/demo.nix ./users/demo.nix
./users/master.nix ./users/master.nix
]; ];

View File

@@ -40,4 +40,6 @@
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
hardware.bluetooth.enable = true;
hardware.ledger.enable = true;
} }

View File

@@ -5,8 +5,6 @@
./i18n.nix ./i18n.nix
./network.nix ./network.nix
./sound.nix ./sound.nix
./xserver.nix
./virtualisation.nix ./virtualisation.nix
./packages.nix
]; ];
} }

View File

@@ -2,4 +2,5 @@
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
boot.supportedFilesystems = [ "ntfs" ];
} }

View File

@@ -0,0 +1,9 @@
{ pkgs, ... }: {
services.xserver = {
enable = true;
layout = "ch";
xkbVariant = "";
displayManager.gdm.enable = true;
desktopManager.gnome.enable = true;
};
}

View File

@@ -2,6 +2,7 @@
networking = { networking = {
hostName = "nixos"; hostName = "nixos";
nameservers = [ "192.168.1.1" "9.9.9.9" "2620:fe::fe" ]; nameservers = [ "192.168.1.1" "9.9.9.9" "2620:fe::fe" ];
#nameservers = [ "127.0.0.1" ];
networkmanager = { networkmanager = {
enable = true; enable = true;
dns = "none"; dns = "none";
@@ -16,4 +17,13 @@
]; ];
}; };
}; };
# services.dnsmasq = {
# enable = true;
# resolveLocalQueries = true;
# servers = [
# ''/.mesh.dcentral.systems/10.101.0.7''
# ''9.9.9.9''
# ''8.8.8.8''
# ];
# };
} }

View File

@@ -6,6 +6,7 @@
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
services.printing.enable = true; services.printing.enable = true;
services.blueman.enable = true;
programs.mtr.enable = true; programs.mtr.enable = true;
programs.gnupg.agent = { programs.gnupg.agent = {
@@ -22,6 +23,8 @@
gnumake gnumake
pinentry pinentry
direnv direnv
dnsutils
netcat
vim vim
gcc gcc
unzip unzip
@@ -31,5 +34,9 @@
remmina remmina
docker-buildx docker-buildx
appimage-run appimage-run
gimp
]; ];
services.logind.extraConfig = ''
RuntimeDirectorySize=20G
'';
} }

View File

@@ -1,3 +1,12 @@
{ pkgs, ... }: { { pkgs, ... }: {
virtualisation.docker.enable = true; virtualisation = {
docker.enable = true;
# following configuration is added only when building VM with build-vm
vmVariant = {
virtualisation = {
memorySize = 2048;
cores = 2;
};
};
};
} }

View File

@@ -2,4 +2,10 @@
users.users.demo.isNormalUser = true; users.users.demo.isNormalUser = true;
users.users.demo.initialPassword = "demo"; users.users.demo.initialPassword = "demo";
system.stateVersion = "23.05"; system.stateVersion = "23.05";
home-manager.users.demo = {
home.stateVersion = "23.05";
home.username = "demo";
home.homeDirectory = "/home/demo";
};
} }

View File

@@ -15,6 +15,10 @@
home.packages = with pkgs; [ home.packages = with pkgs; [
plasma5Packages.bismuth plasma5Packages.bismuth
kdeconnect kdeconnect
kcalc
filelight
gparted
veracrypt
nerdfonts nerdfonts
tmux tmux
btop btop
@@ -29,6 +33,10 @@
kubectl kubectl
chromium chromium
obsidian obsidian
libreoffice-qt
hunspell
hunspellDicts.de_CH
imagemagick
]; ];
programs = { programs = {

19
shell/python.nix Normal file
View File

@@ -0,0 +1,19 @@
let
unstable = import (fetchTarball https://nixos.org/channels/nixos-unstable/nixexprs.tar.xz) { };
in
{ pkgs ? import <nixpkgs> { } }:
pkgs.mkShell {
buildInputs = with pkgs; [
stdenv
gnumake
cmake
python311Full
python310Packages.nltk
python310Packages.pip
conda
poetry
ninja
nodejs
];
LD_LIBRARY_PATH = "${pkgs.stdenv.cc.cc.lib}/lib";
}