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": { "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": { "home": {
"inputs": { "inputs": {
"flake-compat": "flake-compat",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ],
"nmd": "nmd",
"nmt": "nmt",
"utils": "utils"
}, },
"locked": { "locked": {
"lastModified": 1653518057, "lastModified": 1654628474,
"narHash": "sha256-cam3Nfae5ADeEs6mRPzr0jXB7+DhyMIXz0/0Q13r/yk=", "narHash": "sha256-Llm9X8Af15uC9IMStxqjCfO15WgYTqTnsQq8wMcpp5Q=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "64831f938bd413cefde0b0cf871febc494afaa4f", "rev": "70824bb5c790b820b189f62f643f795b1d2ade2e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -21,51 +41,13 @@
"type": "github" "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": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1653463224, "lastModified": 1654057797,
"narHash": "sha256-bUxKhqZhki2vPzFTl8HOo1m7pagF7WzY1MZiso8U5ws=", "narHash": "sha256-mXo7C4v7Jj2feBzcReu1Eu/3Rnw5b023E9kOyFsHZQw=",
"owner": "nixos", "owner": "nixos",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "39a7bfc496d2ddfce73fe9542af1f2029ba4fe39", "rev": "0cab18a48de7914ef8cad35dca0bb36868f3e1af",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -91,11 +73,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1653581809, "lastModified": 1654593855,
"narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=", "narHash": "sha256-c+SyXvj7THre87OyIdZfRVR+HhI/g1ZDrQ3VUtTuHkU=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "83658b28fe638a170a19b8933aa008b30640fbd1", "rev": "033bd4fa9a8fbe0c68a88e925d9a884161044b25",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -105,28 +87,77 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-regression": { "nmd": {
"flake": false,
"locked": { "locked": {
"lastModified": 1643052045, "lastModified": 1653339422,
"narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "narHash": "sha256-8nc7lcYOgih3YEmRMlBwZaLLJYpLPYKBlewqHqx8ieg=",
"owner": "NixOS", "owner": "rycee",
"repo": "nixpkgs", "repo": "nmd",
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "rev": "9e7a20e6ee3f6751f699f79c0b299390f81f7bcd",
"type": "github" "type": "gitlab"
}, },
"original": { "original": {
"id": "nixpkgs", "owner": "rycee",
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "repo": "nmd",
"type": "indirect" "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": { "root": {
"inputs": { "inputs": {
"home": "home", "home": "home",
"nix": "nix",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixos-persistence": "nixos-persistence", "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-hardware.url = "github:nixos/nixos-hardware";
nixos-persistence.url = "github:nix-community/impermanence"; nixos-persistence.url = "github:nix-community/impermanence";
nix.url = "github:nixos/nix"; smos.url = "github:yusdacra/smos/chore/fix-nix-flakes";
nix.inputs.nixpkgs.follows = "nixpkgs"; smos.flake = false;
}; };
outputs = inputs: let outputs = inputs: let

View File

@ -7,36 +7,6 @@
}: let }: let
btrfsPartPath = "/dev/disk/by-label/NIXOS"; btrfsPartPath = "/dev/disk/by-label/NIXOS";
btrfsOptions = ["compress-force=zstd" "noatime"]; 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 { in {
imports = with inputs; imports = with inputs;
with nixos-hardware.nixosModules; [ with nixos-hardware.nixosModules; [
@ -67,43 +37,14 @@ in {
}; };
kernelModules = ["kvm-amd"]; kernelModules = ["kvm-amd"];
extraModulePackages = []; 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;}; kernel.sysctl = {"fs.inotify.max_user_watches" = 524288;};
}; };
fileSystems."/" = { fileSystems."/" = {
device = btrfsPartPath; device = "none";
fsType = "btrfs"; fsType = "tmpfs";
options = ["subvol=root"] ++ btrfsOptions; 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" = { fileSystems."/nix" = {
device = btrfsPartPath; device = btrfsPartPath;
fsType = "btrfs"; fsType = "btrfs";
@ -116,9 +57,16 @@ in {
neededForBoot = true; neededForBoot = true;
}; };
fileSystems."/boot" = { fileSystems."/boot" = {
device = "/dev/disk/by-uuid/5784-BBB1"; device = "/dev/disk/by-label/BOOT";
fsType = "vfat"; fsType = "vfat";
}; };
/*
fileSystems."/media/archive" = {
device = "/dev/disk/by-uuid/f9b5f7f3-51e8-4357-8518-986b16311c71";
fsType = "btrfs";
options = btrfsOptions;
};
*/
swapDevices = []; swapDevices = [];
zramSwap = { zramSwap = {
@ -162,9 +110,11 @@ in {
driSupport = true; driSupport = true;
driSupport32Bit = true; driSupport32Bit = true;
enable = true; enable = true;
extraPackages = with pkgs; [amdvlk libvdpau-va-gl vaapiVdpau libva vulkan-loader pipewire]; /*
extraPackages32 = with pkgs.pkgsi686Linux; extraPackages = with pkgs; [amdvlk libvdpau-va-gl vaapiVdpau libva vulkan-loader pipewire];
[libvdpau-va-gl vaapiVdpau libva vulkan-loader pipewire] ++ [pkgs.driversi686Linux.amdvlk]; extraPackages32 = with pkgs.pkgsi686Linux;
[libvdpau-va-gl vaapiVdpau libva vulkan-loader pipewire] ++ [pkgs.driversi686Linux.amdvlk];
*/
}; };
pulseaudio = { pulseaudio = {
enable = false; enable = false;
@ -179,7 +129,7 @@ in {
}; };
environment = { environment = {
systemPackages = [btrfsDiff pkgs.ntfs3g]; systemPackages = [pkgs.ntfs3g];
pathsToLink = ["/share/zsh"]; pathsToLink = ["/share/zsh"];
persistence."/persist" = { persistence."/persist" = {
directories = ["/etc/nixos"]; directories = ["/etc/nixos"];
@ -190,9 +140,8 @@ in {
networking.firewall.checkReversePath = "loose"; networking.firewall.checkReversePath = "loose";
networking.interfaces.enp6s0.useDHCP = true; networking.interfaces.enp6s0.useDHCP = true;
services = { services = {
haveged.enable = true;
tailscale.enable = true;
earlyoom.enable = true; earlyoom.enable = true;
tailscale.enable = false;
ipfs = { ipfs = {
enable = false; enable = false;
enableGC = true; enableGC = true;
@ -204,9 +153,9 @@ in {
virtualisation = { virtualisation = {
waydroid.enable = false; waydroid.enable = false;
podman.enable = true; podman.enable = false;
libvirtd.enable = false; libvirtd.enable = false;
}; };
system.stateVersion = "20.09"; system.stateVersion = "22.05";
} }

View File

@ -27,7 +27,6 @@ in {
dnsutils dnsutils
dosfstools dosfstools
fd fd
git
bottom bottom
gptfdisk gptfdisk
iputils iputils
@ -45,7 +44,6 @@ in {
bat bat
fzf fzf
exa exa
git
lm_sensors lm_sensors
mkpasswd mkpasswd
zoxide zoxide
@ -53,34 +51,15 @@ in {
amber amber
unzip unzip
unrar unrar
grit
hydra-check hydra-check
nix-index
du-dust du-dust
mosh mosh
( git
pkgs.runCommand git-crypt
"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
''
)
]; ];
shellAliases = let shellAliases = let
ifSudo = string: mkIf config.security.sudo.enable string; ifSudo = string: mkIf config.security.sudo.enable string;
in { in {
gtw = "${pkgBin "grit"} tree wnv";
gtwa = "${pkgBin "grit"} add -p wnv";
gt = pkgBin "grit";
g = pkgBin "git"; g = pkgBin "git";
git-optimize = "${pkgBin "git"} gc --aggressive --prune=now"; git-optimize = "${pkgBin "git"} gc --aggressive --prune=now";
cat = "${pkgBin "bat"} -pp --theme=base16"; cat = "${pkgBin "bat"} -pp --theme=base16";
@ -95,22 +74,11 @@ in {
ta = "${pkgBin "exa"} -lhg --git -a -T"; ta = "${pkgBin "exa"} -lhg --git -a -T";
n = nixBin; n = nixBin;
nf = "${nixBin} flake"; nf = "${nixBin} flake";
nfc = "${nixBin} flake check";
nfu = "${nixBin} flake update"; nfu = "${nixBin} flake update";
nfui = "${nixBin} flake lock --update-input"; nfui = "${nixBin} flake lock --update-input";
nfs = "${nixBin} flake show"; 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"; nsh = "${nixBin} shell";
nsr = "${nixBin} search"; nix-store-refs = "nix-store -qR";
nsrp = "${nixBin} search nixpkgs";
ndev = "${nixBin} develop";
nrun = "${nixBin} run";
nrefs = "nix-store -qR";
noscd = "cd /etc/nixos";
nosrs = ifSudo "sudo nixos-rebuild --fast switch"; nosrs = ifSudo "sudo nixos-rebuild --fast switch";
nosrb = ifSudo "sudo nixos-rebuild --fast boot"; nosrb = ifSudo "sudo nixos-rebuild --fast boot";
nosrt = ifSudo "sudo nixos-rebuild --fast test"; nosrt = ifSudo "sudo nixos-rebuild --fast test";
@ -121,27 +89,27 @@ in {
mn = let mn = let
manix_preview = "manix '{}' | sed 's/type: /> type: /g' | bat -l Markdown --color=always --plain"; 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''; 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 # systemd
ctl = "systemctl"; ctl = "systemctl";
stl = ifSudo "s systemctl"; stl = ifSudo "s systemctl";
utl = "systemctl --user"; utl = "systemctl --user";
ut = "systemctl --user start";
un = "systemctl --user stop";
up = ifSudo "s systemctl start";
dn = ifSudo "s systemctl stop";
jtl = "journalctl"; jtl = "journalctl";
}; };
}; };
system.activationScripts.diff = '' system.activationScripts.diff = ''
${pkgs.nixUnstable}/bin/nix store \ if [ -z "$systemConfig" ]; then
--experimental-features 'nix-command' \ ${pkgs.nixUnstable}/bin/nix store \
diff-closures /run/current-system "$systemConfig" --experimental-features 'nix-command' \
diff-closures /run/current-system "$systemConfig"
fi
''; '';
users.mutableUsers = false; 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; nixpkgs.config.allowUnfree = true;
} }

View File

@ -1,4 +1,8 @@
{config, ...}: { {
config,
inputs,
...
}: {
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
home-manager.sharedModules = [ home-manager.sharedModules = [
@ -8,4 +12,5 @@
xdg.configFile."nix/nix.conf".source = config.environment.etc."nix/nix.conf".source; 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 cliArgs = let
flags = [ flags = [
"--flag-switches-begin" "--flag-switches-begin"
"--enable-features=WebUIDarkMode,UseOzonePlatform,WebRTCPipeWireCapturer,IgnoreGPUBlocklist" "--enable-features=WebUIDarkMode,UseOzonePlatform,WebRTCPipeWireCapturer"
"--disable-features=IgnoreGPUBlocklist"
"--flag-switches-end" "--flag-switches-end"
"--ozone-platform=wayland" "--ozone-platform=wayland"
"--enable-webrtc-pipewire-capturer" "--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 = { programs.git = {
enable = true; enable = true;
extraConfig = {pull.rebase = true;}; extraConfig = {
pull.rebase = true;
safe.directory = "/etc/nixos";
};
lfs.enable = true; lfs.enable = true;
aliases = { aliases = {
a = "add -p"; 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" line-number = "relative"
middle-click-paste = false middle-click-paste = false
true-color = true true-color = true
whitespace.render = "all"
[editor.cursor-shape] [editor.cursor-shape]
insert = "bar" insert = "bar"

View File

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

View File

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