aaaaaaaaa

This commit is contained in:
dusk 2022-06-10 21:36:34 +03:00
parent cea4ee54fc
commit 28f8953da3
Signed by: dusk
GPG Key ID: 1D8F8FAF2294D6EA
15 changed files with 268 additions and 223 deletions

View File

@ -1,17 +1,37 @@
{
"nodes": {
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1650374568,
"narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "b4a34015c698c7793d592d66adbab377907a2be8",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"home": {
"inputs": {
"flake-compat": "flake-compat",
"nixpkgs": [
"nixpkgs"
]
],
"nmd": "nmd",
"nmt": "nmt",
"utils": "utils"
},
"locked": {
"lastModified": 1653518057,
"narHash": "sha256-cam3Nfae5ADeEs6mRPzr0jXB7+DhyMIXz0/0Q13r/yk=",
"lastModified": 1654628474,
"narHash": "sha256-Llm9X8Af15uC9IMStxqjCfO15WgYTqTnsQq8wMcpp5Q=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "64831f938bd413cefde0b0cf871febc494afaa4f",
"rev": "70824bb5c790b820b189f62f643f795b1d2ade2e",
"type": "github"
},
"original": {
@ -21,51 +41,13 @@
"type": "github"
}
},
"lowdown-src": {
"flake": false,
"locked": {
"lastModified": 1633514407,
"narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=",
"owner": "kristapsdz",
"repo": "lowdown",
"rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8",
"type": "github"
},
"original": {
"owner": "kristapsdz",
"repo": "lowdown",
"type": "github"
}
},
"nix": {
"inputs": {
"lowdown-src": "lowdown-src",
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-regression": "nixpkgs-regression"
},
"locked": {
"lastModified": 1653643505,
"narHash": "sha256-VReVQKEfedov22lbZYQjOcIoxjOcLCSVWF8A2szoZ/k=",
"owner": "nixos",
"repo": "nix",
"rev": "ec07a70979a86cc436de7e46e03789b4606d25ab",
"type": "github"
},
"original": {
"owner": "nixos",
"repo": "nix",
"type": "github"
}
},
"nixos-hardware": {
"locked": {
"lastModified": 1653463224,
"narHash": "sha256-bUxKhqZhki2vPzFTl8HOo1m7pagF7WzY1MZiso8U5ws=",
"lastModified": 1654057797,
"narHash": "sha256-mXo7C4v7Jj2feBzcReu1Eu/3Rnw5b023E9kOyFsHZQw=",
"owner": "nixos",
"repo": "nixos-hardware",
"rev": "39a7bfc496d2ddfce73fe9542af1f2029ba4fe39",
"rev": "0cab18a48de7914ef8cad35dca0bb36868f3e1af",
"type": "github"
},
"original": {
@ -91,11 +73,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1653581809,
"narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=",
"lastModified": 1654593855,
"narHash": "sha256-c+SyXvj7THre87OyIdZfRVR+HhI/g1ZDrQ3VUtTuHkU=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "83658b28fe638a170a19b8933aa008b30640fbd1",
"rev": "033bd4fa9a8fbe0c68a88e925d9a884161044b25",
"type": "github"
},
"original": {
@ -105,28 +87,77 @@
"type": "github"
}
},
"nixpkgs-regression": {
"nmd": {
"flake": false,
"locked": {
"lastModified": 1643052045,
"narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
"type": "github"
"lastModified": 1653339422,
"narHash": "sha256-8nc7lcYOgih3YEmRMlBwZaLLJYpLPYKBlewqHqx8ieg=",
"owner": "rycee",
"repo": "nmd",
"rev": "9e7a20e6ee3f6751f699f79c0b299390f81f7bcd",
"type": "gitlab"
},
"original": {
"id": "nixpkgs",
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
"type": "indirect"
"owner": "rycee",
"repo": "nmd",
"type": "gitlab"
}
},
"nmt": {
"flake": false,
"locked": {
"lastModified": 1648075362,
"narHash": "sha256-u36WgzoA84dMVsGXzml4wZ5ckGgfnvS0ryzo/3zn/Pc=",
"owner": "rycee",
"repo": "nmt",
"rev": "d83601002c99b78c89ea80e5e6ba21addcfe12ae",
"type": "gitlab"
},
"original": {
"owner": "rycee",
"repo": "nmt",
"type": "gitlab"
}
},
"root": {
"inputs": {
"home": "home",
"nix": "nix",
"nixos-hardware": "nixos-hardware",
"nixos-persistence": "nixos-persistence",
"nixpkgs": "nixpkgs"
"nixpkgs": "nixpkgs",
"smos": "smos"
}
},
"smos": {
"flake": false,
"locked": {
"lastModified": 1654685920,
"narHash": "sha256-7RiRcI/Gf9M2Kg3AhKDm1pOU8ZLZcyvwmkVbdVynFio=",
"owner": "yusdacra",
"repo": "smos",
"rev": "52d7ba2d8d9610c2291af949647b0d2ce647952e",
"type": "github"
},
"original": {
"owner": "yusdacra",
"ref": "chore/fix-nix-flakes",
"repo": "smos",
"type": "github"
}
},
"utils": {
"locked": {
"lastModified": 1653893745,
"narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
}
},

View File

@ -10,8 +10,8 @@
nixos-hardware.url = "github:nixos/nixos-hardware";
nixos-persistence.url = "github:nix-community/impermanence";
nix.url = "github:nixos/nix";
nix.inputs.nixpkgs.follows = "nixpkgs";
smos.url = "github:yusdacra/smos/chore/fix-nix-flakes";
smos.flake = false;
};
outputs = inputs: let

View File

@ -7,36 +7,6 @@
}: let
btrfsPartPath = "/dev/disk/by-label/NIXOS";
btrfsOptions = ["compress-force=zstd" "noatime"];
btrfsDiff =
pkgs.writeScriptBin
"btrfs-diff"
''
#!${pkgs.bash}/bin/bash
set -euo pipefail
sudo mkdir -p /mnt
sudo mount -o subvol=/ ${btrfsPartPath} /mnt
OLD_TRANSID=$(sudo btrfs subvolume find-new /mnt/root-blank 9999999)
sudo btrfs subvolume find-new "/mnt/root" "$OLD_TRANSID" |
sed '$d' |
cut -f17- -d' ' |
sort |
uniq |
while read path; do
path="/$path"
if [ -L "$path" ]; then
: # The path is a symbolic link, so is probably handled by NixOS already
elif [ -d "$path" ]; then
: # The path is a directory, ignore
else
echo "$path"
fi
done
sudo umount /mnt
'';
in {
imports = with inputs;
with nixos-hardware.nixosModules; [
@ -67,43 +37,14 @@ in {
};
kernelModules = ["kvm-amd"];
extraModulePackages = [];
initrd.postDeviceCommands =
pkgs.lib.mkBefore
''
mkdir -p /mnt
mount -o subvol=/ ${btrfsPartPath} /mnt
btrfs subvolume list -o /mnt/root |
cut -f9 -d' ' |
while read subvolume; do
echo "deleting /$subvolume subvolume..."
btrfs subvolume delete "/mnt/$subvolume"
done &&
echo "deleting /root subvolume..." &&
btrfs subvolume delete /mnt/root
echo "restoring blank /root subvolume"
btrfs subvolume snapshot /mnt/root-blank /mnt/root
umount /mnt
'';
kernel.sysctl = {"fs.inotify.max_user_watches" = 524288;};
};
fileSystems."/" = {
device = btrfsPartPath;
fsType = "btrfs";
options = ["subvol=root"] ++ btrfsOptions;
device = "none";
fsType = "tmpfs";
options = ["defaults" "size=2G" "mode=755"];
};
fileSystems."/home" = {
device = btrfsPartPath;
fsType = "btrfs";
options = ["subvol=home"] ++ btrfsOptions;
};
/*
fileSystems."/media/archive" = {
device = "/dev/disk/by-uuid/f9b5f7f3-51e8-4357-8518-986b16311c71";
fsType = "btrfs";
options = btrfsOptions;
};
*/
fileSystems."/nix" = {
device = btrfsPartPath;
fsType = "btrfs";
@ -116,9 +57,16 @@ in {
neededForBoot = true;
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/5784-BBB1";
device = "/dev/disk/by-label/BOOT";
fsType = "vfat";
};
/*
fileSystems."/media/archive" = {
device = "/dev/disk/by-uuid/f9b5f7f3-51e8-4357-8518-986b16311c71";
fsType = "btrfs";
options = btrfsOptions;
};
*/
swapDevices = [];
zramSwap = {
@ -162,9 +110,11 @@ in {
driSupport = true;
driSupport32Bit = true;
enable = true;
/*
extraPackages = with pkgs; [amdvlk libvdpau-va-gl vaapiVdpau libva vulkan-loader pipewire];
extraPackages32 = with pkgs.pkgsi686Linux;
[libvdpau-va-gl vaapiVdpau libva vulkan-loader pipewire] ++ [pkgs.driversi686Linux.amdvlk];
*/
};
pulseaudio = {
enable = false;
@ -179,7 +129,7 @@ in {
};
environment = {
systemPackages = [btrfsDiff pkgs.ntfs3g];
systemPackages = [pkgs.ntfs3g];
pathsToLink = ["/share/zsh"];
persistence."/persist" = {
directories = ["/etc/nixos"];
@ -190,9 +140,8 @@ in {
networking.firewall.checkReversePath = "loose";
networking.interfaces.enp6s0.useDHCP = true;
services = {
haveged.enable = true;
tailscale.enable = true;
earlyoom.enable = true;
tailscale.enable = false;
ipfs = {
enable = false;
enableGC = true;
@ -204,9 +153,9 @@ in {
virtualisation = {
waydroid.enable = false;
podman.enable = true;
podman.enable = false;
libvirtd.enable = false;
};
system.stateVersion = "20.09";
system.stateVersion = "22.05";
}

View File

@ -27,7 +27,6 @@ in {
dnsutils
dosfstools
fd
git
bottom
gptfdisk
iputils
@ -45,7 +44,6 @@ in {
bat
fzf
exa
git
lm_sensors
mkpasswd
zoxide
@ -53,34 +51,15 @@ in {
amber
unzip
unrar
grit
hydra-check
nix-index
du-dust
mosh
(
pkgs.runCommand
"0x0.sh"
{}
''
mkdir -p $out/bin
cp ${
pkgs.fetchurl
{
url = "https://raw.githubusercontent.com/Calinou/0x0/master/bin/0x0";
sha256 = "sha256-Fad+AKBuA49qtRQfnroqjaNWeuRaCekXZG9sS9JVeaM=";
}
} $out/bin/0x0
chmod +x $out/bin/0x0
''
)
git
git-crypt
];
shellAliases = let
ifSudo = string: mkIf config.security.sudo.enable string;
in {
gtw = "${pkgBin "grit"} tree wnv";
gtwa = "${pkgBin "grit"} add -p wnv";
gt = pkgBin "grit";
g = pkgBin "git";
git-optimize = "${pkgBin "git"} gc --aggressive --prune=now";
cat = "${pkgBin "bat"} -pp --theme=base16";
@ -95,22 +74,11 @@ in {
ta = "${pkgBin "exa"} -lhg --git -a -T";
n = nixBin;
nf = "${nixBin} flake";
nfc = "${nixBin} flake check";
nfu = "${nixBin} flake update";
nfui = "${nixBin} flake lock --update-input";
nfs = "${nixBin} flake show";
np = "${nixBin} profile";
nb = "${nixBin} build";
npl = "${nixBin} profile info";
npi = "${nixBin} profile install";
npr = "${nixBin} profile remove";
nsh = "${nixBin} shell";
nsr = "${nixBin} search";
nsrp = "${nixBin} search nixpkgs";
ndev = "${nixBin} develop";
nrun = "${nixBin} run";
nrefs = "nix-store -qR";
noscd = "cd /etc/nixos";
nix-store-refs = "nix-store -qR";
nosrs = ifSudo "sudo nixos-rebuild --fast switch";
nosrb = ifSudo "sudo nixos-rebuild --fast boot";
nosrt = ifSudo "sudo nixos-rebuild --fast test";
@ -121,27 +89,27 @@ in {
mn = let
manix_preview = "manix '{}' | sed 's/type: /> type: /g' | bat -l Markdown --color=always --plain";
in ''manix "" | rg '^# ' | sed 's/^# \(.*\) (.*/\1/;s/ (.*//;s/^# //' | sk --preview="${manix_preview}" | xargs manix'';
# sudo
s = ifSudo "sudo -E";
si = ifSudo "sudo -i";
se = ifSudo "sudoedit";
# systemd
ctl = "systemctl";
stl = ifSudo "s systemctl";
utl = "systemctl --user";
ut = "systemctl --user start";
un = "systemctl --user stop";
up = ifSudo "s systemctl start";
dn = ifSudo "s systemctl stop";
jtl = "journalctl";
};
};
system.activationScripts.diff = ''
if [ -z "$systemConfig" ]; then
${pkgs.nixUnstable}/bin/nix store \
--experimental-features 'nix-command' \
diff-closures /run/current-system "$systemConfig"
fi
'';
users.mutableUsers = false;
programs.command-not-found.enable = true;
programs = {
command-not-found.enable = true;
git = {
enable = true;
config = {safe.directory = ["/etc/nixos"];};
};
};
nixpkgs.config.allowUnfree = true;
}

View File

@ -1,4 +1,8 @@
{config, ...}: {
{
config,
inputs,
...
}: {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.sharedModules = [
@ -8,4 +12,5 @@
xdg.configFile."nix/nix.conf".source = config.environment.etc."nix/nix.conf".source;
}
];
home-manager.extraSpecialArgs = {inherit inputs;};
}

View File

@ -2,7 +2,8 @@ _: prev: let
cliArgs = let
flags = [
"--flag-switches-begin"
"--enable-features=WebUIDarkMode,UseOzonePlatform,WebRTCPipeWireCapturer,IgnoreGPUBlocklist"
"--enable-features=WebUIDarkMode,UseOzonePlatform,WebRTCPipeWireCapturer"
"--disable-features=IgnoreGPUBlocklist"
"--flag-switches-end"
"--ozone-platform=wayland"
"--enable-webrtc-pipewire-capturer"

View File

@ -1,6 +0,0 @@
{inputs}: _: prev: {
nix = inputs.nix.packages.${prev.system}.nix.overrideAttrs (old: {
doCheck = false;
doInstallCheck = false;
});
}

View File

@ -1 +1,6 @@
["discord-system-electron" "fractal-next" "gamescope"]
[
"discord-system-electron"
"fractal-next"
"gamescope"
"gaudible"
]

View File

@ -0,0 +1,34 @@
{
python3,
python3Packages,
pulseaudio,
stdenv,
...
}:
stdenv.mkDerivation {
pname = "gaudible";
version = "master";
src = builtins.fetchGit {
url = "https://github.com/dbazile/gaudible.git";
rev = "ccd4ac14589f061c60217fe22120db8786898e4b";
ref = "refs/heads/master";
shallow = true;
};
buildInputs = [
python3Packages.pygobject3
python3Packages.dbus-python
];
installPhase = ''
mkdir -p $out/bin
chmod +x gaudible.py
cp gaudible.py $out/bin/gaudible
'';
fixupPhase = ''
substituteInPlace $out/bin/gaudible \
--replace "/usr/bin/paplay" "${pulseaudio}/bin/paplay" \
--replace "/bin/env python3" "${python3}/bin/python"
'';
}

Binary file not shown.

View File

@ -1,7 +1,10 @@
{
programs.git = {
enable = true;
extraConfig = {pull.rebase = true;};
extraConfig = {
pull.rebase = true;
safe.directory = "/etc/nixos";
};
lfs.enable = true;
aliases = {
a = "add -p";

View File

@ -0,0 +1,31 @@
{
config,
inputs,
secrets,
...
}: let
smosDir = "${config.home.homeDirectory}/smos";
in {
imports = ["${inputs.smos}/nix/home-manager-module.nix"];
programs.smos = {
enable = true;
notify.enable = true;
config = {
workflow-dir = smosDir + "/workflows";
projects-dir = smosDir + "/projects";
archive-dir = smosDir + "/archive";
archived-projects-dir = smosDir + "/archived-projects";
github.oauth-token = secrets.githubToken;
};
};
home.shellAliases = {
s = "smos";
sin = "smos ${config.programs.smos.config.workflow-dir}/inbox.smos";
sq = "smos-query";
sqn = "smos-query next";
sqp = "smos-query projects";
sgh = "smos-github";
sghi = "smos-github import";
sghl = "smos-github list";
};
}

View File

@ -5,6 +5,7 @@
line-number = "relative"
middle-click-paste = false
true-color = true
whitespace.render = "all"
[editor.cursor-shape]
insert = "bar"

View File

@ -1,7 +1,4 @@
{pkgBin, ...}: ''
[[language]]
name = "nix"
language-server = { command = "${pkgBin "rnix-lsp"}" }
[[language]]
name = "dockerfile"
roots = ["Dockerfile", "Containerfile"]

View File

@ -33,14 +33,15 @@ in {
extraPortals = with pkgs; [xdg-desktop-portal-wlr];
};
programs = {
fuse.userAllowOther = true;
adb.enable = true;
steam.enable = true;
#steam.enable = true;
kdeconnect = {
enable = true;
package = pkgs.gnomeExtensions.gsconnect;
};
gnome-disks.enable = true;
file-roller.enable = true;
gnome-disks.enable = false;
file-roller.enable = false;
seahorse.enable = true;
};
security = {
@ -63,8 +64,6 @@ in {
services = {
psd.enable = true;
gnome = {
gnome-settings-daemon.enable = true;
sushi.enable = true;
gnome-keyring.enable = true;
core-shell.enable = true;
core-os-services.enable = true;
@ -76,6 +75,8 @@ in {
core-utilities.enable = false;
tracker-miners.enable = false;
tracker.enable = false;
gnome-settings-daemon.enable = lib.mkForce false;
sushi.enable = false;
};
xserver = {
enable = true;
@ -108,6 +109,7 @@ in {
home-manager.users.patriot = {
config,
pkgs,
inputs,
...
}: let
personal = import ../../personal.nix;
@ -132,7 +134,43 @@ in {
../modules/direnv
../modules/git
../modules/starship
../modules/smos
inputs.nixos-persistence.nixosModules.home-manager.impermanence
];
home.persistence."/persist/home/patriot" = let
mkPaths = prefix: paths:
builtins.map (n: "${prefix}/${n}") paths;
in {
directories =
[
"Downloads"
"proj"
"smos"
# ssh / gpg / keys
".ssh"
".gnupg"
"keys"
# caches / history stuff
".directory_history"
".cargo"
".cache"
]
++ mkPaths ".local/share" [
"zoxide"
"direnv"
]
++ mkPaths ".config" [
"dconf"
"chromium"
];
files = [
".config/gnome-initial-setup-done"
".local/share/zsh/history"
];
allowOther = true;
};
fonts.fontconfig.enable = lib.mkForce true;
home = {
homeDirectory = nixosConfig.users.users.patriot.home;
@ -144,16 +182,14 @@ in {
dejavu_fonts
#(nerdfonts.override {fonts = [font.name];})
# Programs
gamescope
wezterm
cargo-outdated
cargo-release
cargo-udeps
vulkan-tools
krita
gnome.nautilus
cachix
appimage-run
#appimage-run
pfetch
gnupg
imv
@ -162,28 +198,26 @@ in {
ffmpeg
mupdf
transmission-qt
lutris
bottles
#lutris
xdg_utils
tagref
papirus-icon-theme
wl-clipboard
rust-analyzer
/*
(
lib.hiPrio
(steam.override {
extraLibraries = pkgs: with pkgs; [mimalloc pipewire vulkan-loader wayland wayland-protocols];
})
)
*/
/*
(multimc.overrideAttrs (old: {
src = builtins.fetchGit { url = "https://github.com/AfoninZ/MultiMC5-Cracked.git"; ref = "develop"; rev = "9069e9c9d0b7951c310fdcc8bdc70ebc422a7634"; submodules = true; };
}))
*/
standardnotes
gh
cloudflared
ripcord
];
shellAliases =
nixosConfig.environment.shellAliases
@ -192,14 +226,11 @@ in {
${pkgBin "mosh"} root@chat.harmonyapp.io
'';
};
sessionVariables = {
NIX_AUTO_RUN = 1;
};
};
programs = {
command-not-found.enable = nixosConfig.programs.command-not-found.enable;
firefox = {
enable = true;
enable = false;
};
chromium = {
enable = true;
@ -297,7 +328,7 @@ in {
};
fzf.enable = true;
vscode = {
enable = true;
enable = false;
package = pkgs.vscode;
extensions = let
mkExt = n: v: p: s: {
@ -377,12 +408,7 @@ in {
defaultCacheTtlSsh = defaultCacheTtl;
maxCacheTtlSsh = maxCacheTtl;
grabKeyboardAndMouse = false;
pinentryFlavor = "qt";
};
gammastep = {
enable = false;
latitude = 36.9;
longitude = 30.7;
pinentryFlavor = "gnome3";
};
};
xdg = {