mirror of
https://github.com/0x1d/nix.git
synced 2025-12-14 22:02:25 +01:00
update system
This commit is contained in:
44
ctl.sh
44
ctl.sh
@@ -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}
|
||||||
|
|||||||
10
os/flake.nix
10
os/flake.nix
@@ -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
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
@@ -5,8 +5,6 @@
|
|||||||
./i18n.nix
|
./i18n.nix
|
||||||
./network.nix
|
./network.nix
|
||||||
./sound.nix
|
./sound.nix
|
||||||
./xserver.nix
|
|
||||||
./virtualisation.nix
|
./virtualisation.nix
|
||||||
./packages.nix
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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" ];
|
||||||
}
|
}
|
||||||
|
|||||||
9
os/system/desktop/gnome.nix
Normal file
9
os/system/desktop/gnome.nix
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{ pkgs, ... }: {
|
||||||
|
services.xserver = {
|
||||||
|
enable = true;
|
||||||
|
layout = "ch";
|
||||||
|
xkbVariant = "";
|
||||||
|
displayManager.gdm.enable = true;
|
||||||
|
desktopManager.gnome.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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''
|
||||||
|
# ];
|
||||||
|
# };
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
19
shell/python.nix
Normal 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";
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user