add another update

This commit is contained in:
kp2pml30 2026-02-11 21:44:06 +09:00
parent 68a4779107
commit 96e942d8ac
Signed by: kp2pml30
GPG key ID: CD6528BAC23E3E34
15 changed files with 206 additions and 91 deletions

View file

@ -0,0 +1,113 @@
{ pkgs, lib, rootPath }:
let
user = "devuser";
uid = "1000";
gid = "1000";
baseVim = rootPath + "/home/.config/nvim/base.vim";
fromGitHub = rev: repo: pkgs.vimUtils.buildVimPlugin {
pname = "${lib.strings.sanitizeDerivationName repo}";
version = rev;
src = builtins.fetchGit {
url = "https://github.com/${repo}.git";
inherit rev;
};
};
customNeovim = pkgs.neovim.override {
configure = {
customRC = builtins.readFile baseVim;
packages.myPlugins = with pkgs.vimPlugins; {
start = [
nvim-treesitter.withAllGrammars
nvim-autopairs
nerdtree
tokyonight-nvim
barbar-nvim
((fromGitHub "3587f57480b88e8009df7b36dc84e9c7ff8f2c49" "famiu/feline.nvim").overrideAttrs (old: {
doCheck = false;
}))
(fromGitHub "d63c811337b2f75de52f16efee176695f31e7fbc" "timakro/vim-yadi")
(fromGitHub "aafa5c187a15701a7299a392b907ec15d9a7075f" "nvim-tree/nvim-web-devicons")
];
};
};
};
# Create passwd/group/shadow as a package
userSetup = pkgs.runCommand "user-setup" {} ''
mkdir -p $out/etc
echo "root:x:0:0:root:/root:/bin/bash" > $out/etc/passwd
echo "${user}:x:${uid}:${gid}:${user}:/home/${user}:${pkgs.bash}/bin/bash" >> $out/etc/passwd
echo "root:x:0:" > $out/etc/group
echo "${user}:x:${gid}:" >> $out/etc/group
echo "root:!:1::::::" > $out/etc/shadow
echo "${user}:!:1::::::" >> $out/etc/shadow
mkdir -p $out/etc/nix
cat > $out/etc/nix/nix.conf <<EOF
experimental-features = nix-command flakes
EOF
mkdir -p $out/etc/sudoers.d
echo "${user} ALL=(ALL) NOPASSWD: ALL" > $out/etc/sudoers.d/${user}
chmod 440 $out/etc/sudoers.d/${user}
mkdir -p $out/tmp
chmod 1777 $out/tmp
'';
entrypoint = pkgs.writeShellScriptBin "entrypoint" ''
if ! command -v claude &> /dev/null; then
echo "Installing claude-code..."
npm install -g @anthropic-ai/claude-code
fi
exec "$@"
'';
in
pkgs.dockerTools.buildLayeredImage {
name = "nix-node";
tag = "latest";
contents = with pkgs; [
nix
nodejs
bash
coreutils
cacert
git
fish
curl
wget
htop
sudo
customNeovim
userSetup
entrypoint
];
fakeRootCommands = ''
mkdir -p ./home/${user}/.npm-global
chown -R ${uid}:${gid} ./home/${user}
mkdir -p ./usr/bin
ln -s ${pkgs.coreutils}/bin/env ./usr/bin/env
'';
enableFakechroot = true;
config = {
Entrypoint = [ "${entrypoint}/bin/entrypoint" ];
Cmd = [ "${pkgs.bash}/bin/bash" ];
User = "${user}";
WorkingDir = "/home/${user}";
Env = [
"HOME=/home/${user}"
"USER=${user}"
"NIX_PAGER=cat"
"SSL_CERT_FILE=${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"
"NIX_CONF_DIR=/etc/nix"
"NPM_CONFIG_PREFIX=/home/${user}/.npm-global"
"PATH=/home/${user}/.npm-global/bin:/usr/bin:/bin"
];
};
}

View file

@ -7,7 +7,7 @@
{
imports = [
./common.nix
# ./nvidia.nix
./nvidia.nix
];
fileSystems."/" = {
@ -37,6 +37,7 @@
environment.systemPackages = with pkgs; [
exfat
pciutils
];
hardware.cpu.amd.updateMicrocode = true;
@ -53,20 +54,22 @@
graphics = {
enable = true;
enable32Bit = true;
extraPackages = with pkgs; [
];
extraPackages32 = with pkgs; [
];
};
amdgpu.amdvlk = {
enable = true;
support32Bit.enable = true;
nvidia.prime = {
offload = {
enable = true;
enableOffloadCmd = true;
};
nvidiaBusId = "PCI:5:0:0";
amdgpuBusId = "PCI:198:0:0";
};
opengl.extraPackages = with pkgs; [
amdvlk
];
opengl.extraPackages32 = with pkgs; [
driversi686Linux.amdvlk
];
};
networking = {

View file

@ -8,9 +8,9 @@
services.xserver.videoDrivers = ["nvidia"];
hardware.nvidia = {
package = config.boot.kernelPackages.nvidiaPackages.production;
package = config.boot.kernelPackages.nvidiaPackages.beta;
modesetting.enable = true;
open = false;
open = true;
nvidiaSettings = true;
};
}

View file

@ -42,12 +42,12 @@
services.qemuGuest.enable = true;
networking = {
hostName = "v168671";
hostName = "v633633";
interfaces.ens3.ipv4.addresses = [ {
prefixLength = 24;
address = "185.121.233.63";
address = "146.103.126.11";
} ];
defaultGateway = "185.121.233.1";
defaultGateway = "146.103.126.1";
nameservers = [
"1.1.1.1"
"8.8.8.8"

View file

@ -36,10 +36,10 @@ in {
boot.supportedFilesystems = [ "zfs" ];
boot.zfs.forceImportRoot = false;
services.logind.extraConfig = ''
HandlePowerKey=poweroff
HandleLidSwitch=hibernate
'';
services.logind.settings.Login = {
HandlePowerKey = "poweroff";
HandleLidSwitch = "hibernate";
};
services.pcscd = {
enable = true;
@ -85,6 +85,7 @@ in {
"discord"
"slack"
"anytype"
"claude-code"
];
};
}

View file

@ -11,23 +11,41 @@ in {
./kitty.nix
./vscode.nix
./opera.nix
./steam.nix
./messengers.nix
./messengers-work.nix
];
environment.systemPackages = [ pkgs.anytype ];
xdg.portal = {
enable = true;
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
};
services.flatpak.enable = true;
systemd.services.flatpak-repo = {
wantedBy = [ "multi-user.target" ];
path = [ pkgs.flatpak ];
script = ''
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
'';
};
fonts.enableDefaultFonts = true;
environment.systemPackages = with pkgs; [
anytype
flatpak
gnome-software
nodePackages.npm
nodejs
];
fonts.enableDefaultPackages = true;
fonts.packages = with pkgs; [
noto-fonts
noto-fonts-cjk-sans
noto-fonts-cjk-sans
fira-code
fira-code-nerdfont
fira-code-symbols
nerd-fonts.fira-code

View file

@ -7,15 +7,9 @@
}:
let
cfg = config.kp2pml30;
signal-pkgs = import (builtins.fetchTarball {
url = "https://github.com/NixOS/nixpkgs/archive/71cbb752aa36854eb4a7deb3685b9789256d643c.tar.gz";
sha256 = "10dnjv2c28bjgplyj6nbk2q9lng6f95jf75i5yh541zngrr8b2qg";
}) {
system = pkgs.system;
};
in lib.mkIf cfg.messengers.personal {
users.users.${cfg.username}.packages = with pkgs; [
discord
telegram-desktop
] ++ [signal-pkgs.signal-desktop];
];
}

View file

@ -1,42 +0,0 @@
{ pkgs
, lib
, rootPath
, config
, ...
}:
let
cfg = config.kp2pml30;
version = "123.0.5669.23";
legacy-nixpkgs = import (builtins.fetchTarball {
url = "https://github.com/NixOS/nixpkgs/archive/refs/tags/24.11.tar.gz";
sha256 = "1gx0hihb7kcddv5h0k7dysp2xhf1ny0aalxhjbpj2lmvj7h9g80a";
}) {
system = pkgs.system;
config.allowUnfreePredicate = pkg:
builtins.elem (pkgs.lib.getName pkg) [
"vscode"
"steam"
"steam-run"
"steam-original"
"steam-unwrapped"
"nvidia-x11"
"nvidia-settings"
"nvidia-persistenced"
"opera"
"discord"
"slack"
"anytype"
];
};
in lib.mkIf cfg.opera {
home-manager.users.${cfg.username}.home = {
packages = with legacy-nixpkgs; [
((opera.override { proprietaryCodecs = true; }).overrideAttrs (finalAttrs: previousAttrs: {
src = fetchurl {
url = "https://get.geo.opera.com/pub/opera/desktop/${version}/linux/opera-stable_${version}_amd64.deb";
hash = "sha256-j2kHdg8d60S9j3bLychjmH/cRAXHGIjOgGKqmNIhnHU=";
};
}))
];
};
}

View file

@ -26,7 +26,8 @@ in {
];
sessionVariables = {
TERMINAL = "kitty";
TERMINAL = "xterm-kitty";
NPM_CONFIG_PREFIX = "$HOME/.local/share/npm-global";
};
activation = {

View file

@ -17,6 +17,7 @@ in {
environment.systemPackages = with pkgs; [
ncdu
timewarrior
p7zip
];
};