Compare commits
8 Commits
1da7320ad3
...
561f4dd058
| Author | SHA1 | Date | |
|---|---|---|---|
|
561f4dd058
|
|||
|
5b3cac325e
|
|||
|
19869cbc2a
|
|||
|
02586c29bb
|
|||
|
453d56d52e
|
|||
|
85736f7195
|
|||
|
13fc58544b
|
|||
|
13685940a2
|
@ -8,6 +8,16 @@ sudo nixos-rebuild <type> --flake .#<flake>
|
||||
$ type: echo -e "switch\nbuild\nboot"
|
||||
$ flake: echo -e "nixinator\nnixtop"
|
||||
|
||||
% nixos
|
||||
# Rebuild the system using nh
|
||||
nh os <mode>
|
||||
$ mode: echo -e "switch\nbuild\nboot"
|
||||
|
||||
% nixos
|
||||
# Clean the nix store
|
||||
nh clean <mode>
|
||||
$ mode: echo -e "all\nuser"
|
||||
|
||||
% nixos
|
||||
# Find out why a package is included in the closure when building the system derivation
|
||||
nix why-depends /run/current-system nixpkgs#<package>
|
||||
@ -22,6 +32,35 @@ $ executable: bash -c "compgen -c"
|
||||
ldd $(readlink -f $(which <executable>))
|
||||
$ executable: bash -c "compgen -c"
|
||||
|
||||
% nixos
|
||||
# Browse closures in the nix store sorted by size
|
||||
nix-tree
|
||||
|
||||
% nixos
|
||||
# Search in nixpkgs
|
||||
nps -e "<package>"
|
||||
|
||||
% nixos
|
||||
# Search in nixpkgs, nur, nixos and home-manager
|
||||
nix-search-tv print --indexes 'nixos,home-manager,nixpkgs,nur' | fzf --preview 'nix-search-tv preview {}' --scheme history
|
||||
|
||||
% nixos
|
||||
# Compare the current NixOS generation to another one
|
||||
nvd diff /run/current-system ./result
|
||||
|
||||
% nixos
|
||||
# Generate a nix fetcher section
|
||||
nurl "<url>"
|
||||
|
||||
% nixos
|
||||
# Generate a nix fetcher section for a specific revision
|
||||
nurl "<url>" "<rev>"
|
||||
|
||||
% nixos
|
||||
# Run an unpatched binary on NixOS
|
||||
nix-alien-ld -- <binary>
|
||||
$ binary: eza -f -1
|
||||
|
||||
; ===========================
|
||||
; SYSTEMD
|
||||
; ===========================
|
||||
@ -104,6 +143,37 @@ xdg-mime query default <mimetype>
|
||||
xdg-mime query default $(file --mime-type <file> | awk -F' ' '{print $2}')
|
||||
$ file: eza -f -1
|
||||
|
||||
% ouch
|
||||
# Extract an archive
|
||||
ouch decompress "<archive>"
|
||||
$ archive: eza -f -1
|
||||
|
||||
% pastel
|
||||
# Generate a color
|
||||
pastel color <color>
|
||||
$ color: pastel list
|
||||
|
||||
% pastel
|
||||
# Generate an adjacent color
|
||||
pastel color <color> | pastel <mode>
|
||||
$ color: pastel list
|
||||
$ mode: echo -e "complement\ntextcolor"
|
||||
|
||||
% pastel
|
||||
# Generate a color gradient
|
||||
pastel gradient <a> <b> | pastel format hex
|
||||
$ a: pastel list
|
||||
$ b: pastel list
|
||||
|
||||
% ripdrag
|
||||
# Drag & drop file from the terminal
|
||||
ripdrag <file>
|
||||
$ file: eza -1
|
||||
|
||||
% nvidia-smi
|
||||
# Monitor Nvidia GPUs
|
||||
watch -d -c -n 0.5 nvidia-smi
|
||||
|
||||
; ===========================
|
||||
; CODE
|
||||
; ===========================
|
||||
@ -138,7 +208,11 @@ yt-dlp -f 'ba' --extract-audio --audio-format mp3 "<url>"
|
||||
|
||||
% spotdl
|
||||
# Download spotify playlist
|
||||
spotdl --config /home/christoph/.spotdl/config.json --user-auth --format m4a --bitrate disable --threads 24 --generate-lrc --m3u "<name>" download "<url>"
|
||||
mkdir -p "<name>" && cd "<name>" && spotdl --client-id (cat /home/christoph/.secrets/spotify_client_id) --client-secret (cat /home/christoph/.secrets/spotify_client_secret) --user-auth --cookie-file /home/christoph/.secrets/youtube_music_cookies --format opus --bitrate disable --threads 24 --m3u "<name>" download "<url>" && cd ..
|
||||
|
||||
% spotdl
|
||||
# Download spotify item
|
||||
mkdir -p "<name>" && cd "<name>" && spotdl --client-id (cat /home/christoph/.secrets/spotify_client_id) --client-secret (cat /home/christoph/.secrets/spotify_client_secret) --user-auth --cookie-file /home/christoph/.secrets/youtube_music_cookies --format opus --bitrate disable --threads 24 download "<url>" && cd ..
|
||||
|
||||
; ===========================
|
||||
; FFMPEG
|
||||
|
||||
193
flake.lock
generated
193
flake.lock
generated
@ -135,6 +135,27 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"devshell_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nix-topology",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728330715,
|
||||
"narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=",
|
||||
"owner": "numtide",
|
||||
"repo": "devshell",
|
||||
"rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "devshell",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"emacs-overlay": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@ -204,6 +225,22 @@
|
||||
}
|
||||
},
|
||||
"flake-compat_4": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_5": {
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
@ -263,6 +300,24 @@
|
||||
"inputs": {
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726560853,
|
||||
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_2": {
|
||||
"inputs": {
|
||||
"systems": "systems_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
@ -277,7 +332,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_2": {
|
||||
"flake-utils_3": {
|
||||
"locked": {
|
||||
"lastModified": 1667395993,
|
||||
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
|
||||
@ -338,6 +393,28 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore_3": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nix-topology",
|
||||
"pre-commit-hooks",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709087332,
|
||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gnim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
@ -1026,6 +1103,26 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"musnix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1741303672,
|
||||
"narHash": "sha256-eRKbKccBu3PK/oJpmUuLo+0v45d0SEjosE8tVsHbpeA=",
|
||||
"owner": "musnix",
|
||||
"repo": "musnix",
|
||||
"rev": "d56a15f30329f304151e4e05fa82264d127da934",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "musnix",
|
||||
"repo": "musnix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"naersk": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_5"
|
||||
@ -1103,6 +1200,29 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-topology": {
|
||||
"inputs": {
|
||||
"devshell": "devshell_2",
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"pre-commit-hooks": "pre-commit-hooks_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1744142264,
|
||||
"narHash": "sha256-h5KyodobZm8dx/HSNN+basgdmjxrQxudjrss4gAQpZk=",
|
||||
"owner": "oddlama",
|
||||
"repo": "nix-topology",
|
||||
"rev": "f49121cbbf4a86c560638ade406d99ee58deb7aa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "oddlama",
|
||||
"repo": "nix-topology",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1722073938,
|
||||
@ -1203,7 +1323,7 @@
|
||||
"nixpkgs"
|
||||
],
|
||||
"nuschtosSearch": "nuschtosSearch",
|
||||
"systems": "systems_4"
|
||||
"systems": "systems_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751492444,
|
||||
@ -1221,8 +1341,8 @@
|
||||
},
|
||||
"nps": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_4",
|
||||
"flake-utils": "flake-utils_2",
|
||||
"flake-compat": "flake-compat_5",
|
||||
"flake-utils": "flake-utils_3",
|
||||
"naersk": "naersk",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
@ -1265,7 +1385,7 @@
|
||||
},
|
||||
"nuschtosSearch": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"flake-utils": "flake-utils_2",
|
||||
"ixx": "ixx",
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
@ -1334,6 +1454,33 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pre-commit-hooks_3": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_4",
|
||||
"gitignore": "gitignore_3",
|
||||
"nixpkgs": [
|
||||
"nix-topology",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": [
|
||||
"nix-topology",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1730797577,
|
||||
"narHash": "sha256-SrID5yVpyUfknUTGWgYkTyvdr9J1LxUym4om3SVGPkg=",
|
||||
"owner": "cachix",
|
||||
"repo": "pre-commit-hooks.nix",
|
||||
"rev": "1864030ed24a2b8b4e4d386a5eeaf0c5369e50a9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "pre-commit-hooks.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"ags": "ags",
|
||||
@ -1343,13 +1490,16 @@
|
||||
"home-manager": "home-manager",
|
||||
"hypr-dynamic-cursors": "hypr-dynamic-cursors",
|
||||
"hyprland-plugins": "hyprland-plugins",
|
||||
"musnix": "musnix",
|
||||
"nix-alien": "nix-alien",
|
||||
"nix-flatpak": "nix-flatpak",
|
||||
"nix-topology": "nix-topology",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"nixvim": "nixvim",
|
||||
"nps": "nps",
|
||||
"nur": "nur",
|
||||
"spicetify-nix": "spicetify-nix",
|
||||
"unityhub-pinned": "unityhub-pinned",
|
||||
"v4l2loopback-pinned": "v4l2loopback-pinned"
|
||||
}
|
||||
},
|
||||
@ -1358,7 +1508,7 @@
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": "systems_5"
|
||||
"systems": "systems_6"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751171964,
|
||||
@ -1449,6 +1599,37 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_6": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"unityhub-pinned": {
|
||||
"locked": {
|
||||
"lastModified": 1751747067,
|
||||
"narHash": "sha256-EjdnadZ90Q0sUWhz/owDik9fHSXw7ho/rsrsYGCDH2U=",
|
||||
"owner": "huantianad",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "9542b0bc7701e173a10e6977e57bbba68bb3051f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "huantianad",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "9542b0bc7701e173a10e6977e57bbba68bb3051f",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"v4l2loopback-pinned": {
|
||||
"locked": {
|
||||
"lastModified": 1748124733,
|
||||
|
||||
97
flake.nix
97
flake.nix
@ -5,6 +5,9 @@
|
||||
# It depends on "inputs" that are passed as arguments to the "outputs" function.
|
||||
# The inputs' git revisions get locked in the flake.lock file, making the outputs deterministic.
|
||||
inputs = {
|
||||
# Just for shell.nix
|
||||
devshell.url = "github:numtide/devshell";
|
||||
|
||||
# Nixpkgs
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
hardware.url = "github:nixos/nixos-hardware";
|
||||
@ -13,55 +16,64 @@
|
||||
home-manager.url = "github:nix-community/home-manager";
|
||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
# Nix User Repository (e.g. Firefox addons)
|
||||
nur.url = "github:nix-community/NUR";
|
||||
nur.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
# Nix Package Search - nps
|
||||
nps.url = "github:OleMussmann/nps";
|
||||
nps.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
# Run unpatched binaries on NixOS
|
||||
nix-alien.url = "github:thiagokokada/nix-alien";
|
||||
nix-alien.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
# NeoVim <3
|
||||
nixvim.url = "github:nix-community/nixvim";
|
||||
nixvim.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
# Emacs nightly
|
||||
emacs-overlay.url = "github:nix-community/emacs-overlay";
|
||||
emacs-overlay.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
# Declarative Flatpak
|
||||
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest";
|
||||
# nix-flatpak.inputs.nixpkgs.follows = "nixpkgs"; # nix-flatpak doesn't have this
|
||||
|
||||
# HyprPlugins
|
||||
hyprland-plugins.url = "github:hyprwm/hyprland-plugins";
|
||||
hyprland-plugins.inputs.nixpkgs.follows = "nixpkgs";
|
||||
hypr-dynamic-cursors.url = "github:VirtCode/hypr-dynamic-cursors";
|
||||
hypr-dynamic-cursors.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
# Nix User Repository (e.g. Firefox addons)
|
||||
nur.url = "github:nix-community/NUR";
|
||||
nur.inputs.nixpkgs.follows = "nixpkgs";
|
||||
# Realtime audio
|
||||
musnix.url = "github:musnix/musnix";
|
||||
musnix.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
# Spicetify
|
||||
spicetify-nix.url = "github:Gerg-L/spicetify-nix";
|
||||
spicetify-nix.inputs.nixpkgs.follows = "nixpkgs";
|
||||
nix-topology.url = "github:oddlama/nix-topology";
|
||||
nix-topology.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
# Ags for widgets (this was a terrible idea)
|
||||
ags.url = "github:Aylur/ags";
|
||||
ags.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
# Nix Package Search - nps
|
||||
nps.url = "github:OleMussmann/nps";
|
||||
nps.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
# Declarative Flatpak
|
||||
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest";
|
||||
# nix-flatpak.inputs.nixpkgs.follows = "nixpkgs"; # nix-flatpak doesn't have this
|
||||
|
||||
# Creates an environment containing required libraries for an executable
|
||||
nix-alien.url = "github:thiagokokada/nix-alien";
|
||||
nix-alien.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
# Emacs nightly
|
||||
emacs-overlay.url = "github:nix-community/emacs-overlay";
|
||||
emacs-overlay.inputs.nixpkgs.follows = "nixpkgs";
|
||||
# Spicetify
|
||||
spicetify-nix.url = "github:Gerg-L/spicetify-nix";
|
||||
spicetify-nix.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
# Pinned versions
|
||||
v4l2loopback-pinned.url = "github:nixos/nixpkgs/4684fd6b0c01e4b7d99027a34c93c2e09ecafee2";
|
||||
|
||||
# Just for shell.nix
|
||||
devshell.url = "github:numtide/devshell";
|
||||
unityhub-pinned.url = "github:huantianad/nixpkgs/9542b0bc7701e173a10e6977e57bbba68bb3051f";
|
||||
};
|
||||
|
||||
# Outputs is a function that takes the inputs as arguments.
|
||||
# To handle extra arguments we use the @ inputs pattern.
|
||||
# It gives the name "inputs" to the ... ellipses.
|
||||
outputs = {nixpkgs, ...} @ inputs: let
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
...
|
||||
} @ inputs: let
|
||||
# Our configuration is buildable on the following system/platform.
|
||||
# Configs can support more than a single system simultaneously,
|
||||
# e.g. NixOS (linux) and MacOS (darwin) or Arm.
|
||||
@ -89,12 +101,15 @@
|
||||
inputs.devshell.overlays.default
|
||||
inputs.nur.overlays.default
|
||||
inputs.emacs-overlay.overlay
|
||||
inputs.nix-topology.overlays.default
|
||||
|
||||
# TODO: Check if this works
|
||||
# TODO: Remove after OBS is fixed: https://github.com/obsproject/obs-studio/pull/11906
|
||||
# (final: prev: {
|
||||
# v4l2loopback = inputs.v4l2loopback-pinned.pkgs.v4l2loopback;
|
||||
# })
|
||||
# https://github.com/NixOS/nixpkgs/issues/418451
|
||||
(final: prev: {
|
||||
unityhub_pinned_3_13 = import inputs.unityhub-pinned {
|
||||
config.allowUnfree = true;
|
||||
localSystem = {inherit (prev) system;};
|
||||
};
|
||||
})
|
||||
|
||||
# All my own overlays
|
||||
(import ./overlays {inherit nixpkgs inputs;})
|
||||
@ -118,6 +133,18 @@
|
||||
# Local shell for NixFlake directory
|
||||
devShells."${system}".default = import ./shell.nix {inherit pkgs;};
|
||||
|
||||
# TODO: Add my homelab configs into this flake, then add a topology config for each host
|
||||
# Output that generates a system topology diagram
|
||||
# topology = import inputs.nix-topology {
|
||||
# inherit pkgs; # Only this package set must include nix-topology.overlays.default
|
||||
# modules = [
|
||||
# # Your own file to define global topology. Works in principle like a nixos module but uses different options.
|
||||
# # ./topology.nix
|
||||
# # Inline module to inform topology of your existing NixOS hosts.
|
||||
# {nixosConfigurations = self.nixosConfigurations;}
|
||||
# ];
|
||||
# };
|
||||
|
||||
# We give each configuration a (host)name to choose a configuration when rebuilding.
|
||||
# This makes it easy to add different configurations (e.g. for a laptop).
|
||||
# Usage: sudo nixos-rebuild switch --flake .#nixinator
|
||||
@ -136,13 +163,19 @@
|
||||
inherit system mylib;
|
||||
hostname = "nixinator";
|
||||
username = "christoph";
|
||||
extraModules = [];
|
||||
extraModules = [
|
||||
# TODO:
|
||||
# inputs.nix-topology.nixosModules.default
|
||||
];
|
||||
};
|
||||
nixtop = mylib.nixos.mkNixosConfigWithHomeManagerModule {
|
||||
inherit system mylib;
|
||||
hostname = "nixtop";
|
||||
username = "christoph";
|
||||
extraModules = [];
|
||||
extraModules = [
|
||||
# TODO:
|
||||
# inputs.nix-topology.nixosModules.default
|
||||
];
|
||||
};
|
||||
|
||||
# These configurations don't include HM.
|
||||
|
||||
@ -68,7 +68,7 @@ rec {
|
||||
|
||||
hyprland = {
|
||||
enable = true;
|
||||
dunst.enable = false; # Disable for hyprpanel
|
||||
dunst.enable = !config.modules.hyprpanel.enable; # Disable for hyprpanel
|
||||
theme = "Foggy-Lake"; # Three-Bears
|
||||
|
||||
keybindings = {
|
||||
@ -111,7 +111,6 @@ rec {
|
||||
"nextcloud --background"
|
||||
"keepassxc"
|
||||
"ferdium"
|
||||
"kdeconnect-indicator"
|
||||
];
|
||||
};
|
||||
|
||||
@ -219,8 +218,7 @@ rec {
|
||||
neovide = true;
|
||||
};
|
||||
|
||||
nnn.enable = false;
|
||||
|
||||
nnn.enable = false; # Use yazi
|
||||
rmpc.enable = true;
|
||||
|
||||
rofi = {
|
||||
@ -229,7 +227,7 @@ rec {
|
||||
theme = "Foggy-Lake";
|
||||
};
|
||||
|
||||
waybar.enable = false;
|
||||
waybar.enable = false; # Use hyprpanel
|
||||
zathura.enable = true;
|
||||
};
|
||||
|
||||
@ -347,10 +345,21 @@ rec {
|
||||
unzip # Unzip stuff
|
||||
progress # Find coreutils processes and show their progress
|
||||
tokei # Text file statistics in a project
|
||||
nvd # nix rebuild diff
|
||||
ripdrag # drag & drop from terminal
|
||||
playerctl # media player control
|
||||
pastel # color tools
|
||||
nvd # nix rebuild diff
|
||||
nix-search-tv # search nixpkgs, nur, nixos options and homemanager options
|
||||
nix-tree # Browse the nix store sorted by size (gdu for closures)
|
||||
nurl # Generate nix fetcher sections based on URLs
|
||||
|
||||
# Run unpatched binaries on NixOS
|
||||
# Sets NIX_LD_LIBRARY_PATH and NIX_LD variables for nix-ld.
|
||||
# Start dynamically linked executable using "nix-alien-ld -- <Executable>".
|
||||
inputs.nix-alien.packages.${system}.nix-alien
|
||||
|
||||
# Search nixpkgs
|
||||
inputs.nps.packages.${system}.default
|
||||
|
||||
# Hardware/Software info
|
||||
pciutils # lspci
|
||||
@ -492,7 +501,8 @@ rec {
|
||||
|
||||
import = {
|
||||
write = true; # Write metadata to files
|
||||
copy = true; # Move files to the music directory when importing
|
||||
copy = false; # Copy files to the music directory when importing
|
||||
move = true; # Move files to the music directory when importing
|
||||
log = "${home.homeDirectory}/Music/.beetslog.txt";
|
||||
};
|
||||
|
||||
@ -1007,7 +1017,10 @@ rec {
|
||||
};
|
||||
|
||||
services = {
|
||||
kdeconnect.enable = nixosConfig.programs.kdeconnect.enable; # Only the system package sets up the firewall
|
||||
kdeconnect = {
|
||||
enable = nixosConfig.programs.kdeconnect.enable; # Only the system package sets up the firewall
|
||||
indicator = nixosConfig.programs.kdeconnect.enable;
|
||||
};
|
||||
|
||||
mpd = {
|
||||
enable = true;
|
||||
|
||||
@ -113,7 +113,9 @@
|
||||
# jetbrains.webstorm
|
||||
|
||||
# Unity Stuff
|
||||
# unityhub # TODO: Disable until https://github.com/NixOS/nixpkgs/issues/418451 is closed
|
||||
# unityhub
|
||||
unityhub_pinned_3_13.unityhub # TODO: Remove after https://github.com/NixOS/nixpkgs/issues/418451
|
||||
|
||||
rider
|
||||
dotnetCore
|
||||
mono
|
||||
|
||||
@ -181,6 +181,8 @@ in {
|
||||
|
||||
(abbrify pkgs.lazygit {lg = "lazygit";})
|
||||
|
||||
(abbrify pkgs.nix-search-tv {search = "nix-search-tv print --indexes 'nixos,home-manager,nixpkgs,nur' | fzf --preview 'nix-search-tv preview {}' --scheme history";})
|
||||
|
||||
# Doesn't work with abbrify because I have nnn.override...
|
||||
(lib.optionalAttrs config.modules.nnn.enable {n = "nnncd -a";})
|
||||
(lib.optionalAttrs config.modules.nnn.enable {np = "nnncd -a -P p";})
|
||||
|
||||
@ -68,9 +68,6 @@
|
||||
"$mainMod CTRL, k" = ["movewindow, u"];
|
||||
"$mainMod CTRL, d" = ["movewindow, d"];
|
||||
|
||||
# Special workspace
|
||||
"$mainMod, x" = ["togglespecialworkspace"];
|
||||
|
||||
# TODO: Somehow write this more compact? Try to use workspace 0 instead of 10...
|
||||
"$mainMod, 1" = ["workspace, 1"];
|
||||
"$mainMod, 2" = ["workspace, 2"];
|
||||
@ -82,6 +79,7 @@
|
||||
"$mainMod, 8" = ["workspace, 8"];
|
||||
"$mainMod, 9" = ["workspace, 9"];
|
||||
"$mainMod, 0" = ["workspace, 10"];
|
||||
"$mainMod, x" = ["togglespecialworkspace"];
|
||||
|
||||
"$mainMod SHIFT, 1" = ["movetoworkspace, 1"];
|
||||
"$mainMod SHIFT, 2" = ["movetoworkspace, 2"];
|
||||
@ -93,6 +91,7 @@
|
||||
"$mainMod SHIFT, 8" = ["movetoworkspace, 8"];
|
||||
"$mainMod SHIFT, 9" = ["movetoworkspace, 9"];
|
||||
"$mainMod SHIFT, 0" = ["movetoworkspace, 10"];
|
||||
"$mainMod SHIFT, x" = ["movetoworkspace, special"];
|
||||
|
||||
# Reset workspaces to the defined configuration in hyprland.workspaces:
|
||||
# [
|
||||
@ -112,8 +111,9 @@
|
||||
"$mainMod, mouse:273" = ["resizewindow"];
|
||||
};
|
||||
|
||||
always-exec = [
|
||||
# "dunst" # Notifications
|
||||
always-exec = builtins.concatLists [
|
||||
(lib.optionals hyprland.dunst.enable ["dunst"]) # Notifications
|
||||
[
|
||||
"wl-paste -t text --watch clipman store --no-persist"
|
||||
"wl-paste -p -t text --watch clipman store -P --histpath=\"~/.local/share/clipman-primary.json\""
|
||||
"hyprctl setcursor Bibata-Modern-Classic 16"
|
||||
@ -129,6 +129,7 @@
|
||||
# This is used for example when running systemd commands without root.
|
||||
"${pkgs.kdePackages.polkit-kde-agent-1}/libexec/polkit-kde-authentication-agent-1"
|
||||
# "systemctl --user start hyprpolkitagent.service"
|
||||
]
|
||||
];
|
||||
in {
|
||||
options.modules.hyprland = import ./options.nix {inherit lib mylib;};
|
||||
@ -159,7 +160,7 @@ in {
|
||||
x11.enable = true;
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Classic";
|
||||
size = 16;
|
||||
size = 32;
|
||||
};
|
||||
|
||||
packages = with pkgs; [
|
||||
|
||||
@ -411,29 +411,20 @@ with mylib.networking; {
|
||||
# Empty since we basically only need git + editor which is enabled below
|
||||
environment.systemPackages = with pkgs; [
|
||||
iw
|
||||
|
||||
# iPhone tethering + mounting
|
||||
libimobiledevice
|
||||
ifuse
|
||||
usbmuxd
|
||||
|
||||
mprocs # run multiple processes in single terminal window, screen alternative
|
||||
parted # partition manager
|
||||
procs # Better ps
|
||||
procps # pgrep, pkill
|
||||
killall
|
||||
slirp4netns # user network namespaces
|
||||
wireguard-tools
|
||||
man-pages
|
||||
man-pages-posix
|
||||
|
||||
# Sets NIX_LD_LIBRARY_PATH and NIX_LD variables for nix-ld
|
||||
# Start dynamically linked executable using "nix-alien-ld -- <Executable>"
|
||||
inputs.nix-alien.packages.${system}.nix-alien
|
||||
|
||||
# Search nixpkgs
|
||||
inputs.nps.packages.${system}.default
|
||||
|
||||
# egl-wayland
|
||||
# iPhone tethering + mounting
|
||||
libimobiledevice
|
||||
ifuse
|
||||
usbmuxd
|
||||
];
|
||||
|
||||
# It is preferred to use the module (if it exists) over environment.systemPackages,
|
||||
|
||||
Reference in New Issue
Block a user