aaaaaaaaa
This commit is contained in:
parent
cea4ee54fc
commit
28f8953da3
151
flake.lock
151
flake.lock
@ -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"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -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
|
||||||
|
@ -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";
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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;};
|
||||||
}
|
}
|
||||||
|
@ -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"
|
||||||
|
@ -1,6 +0,0 @@
|
|||||||
{inputs}: _: prev: {
|
|
||||||
nix = inputs.nix.packages.${prev.system}.nix.overrideAttrs (old: {
|
|
||||||
doCheck = false;
|
|
||||||
doInstallCheck = false;
|
|
||||||
});
|
|
||||||
}
|
|
@ -1 +1,6 @@
|
|||||||
["discord-system-electron" "fractal-next" "gamescope"]
|
[
|
||||||
|
"discord-system-electron"
|
||||||
|
"fractal-next"
|
||||||
|
"gamescope"
|
||||||
|
"gaudible"
|
||||||
|
]
|
||||||
|
34
pkgs-set/pkgs/gaudible.nix
Normal file
34
pkgs-set/pkgs/gaudible.nix
Normal 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.
@ -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";
|
||||||
|
31
users/modules/smos/default.nix
Normal file
31
users/modules/smos/default.nix
Normal 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";
|
||||||
|
};
|
||||||
|
}
|
@ -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"
|
||||||
|
@ -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"]
|
||||||
|
@ -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 = {
|
||||||
|
Loading…
Reference in New Issue
Block a user