modules updates
This commit is contained in:
parent
e23ce200a5
commit
4bcb766dec
9
base.nix
9
base.nix
@ -1,6 +1,11 @@
|
|||||||
{ config, lib, pkgs, options, ... }: {
|
{ config, lib, pkgs, options, ... }: {
|
||||||
imports =
|
imports = [
|
||||||
[ ./modules/apps.nix ./modules/dev.nix ./modules/services.nix ./jawz.nix ];
|
./modules/apps.nix
|
||||||
|
./modules/dev.nix
|
||||||
|
./modules/shell.nix
|
||||||
|
./modules/services.nix
|
||||||
|
./jawz.nix
|
||||||
|
];
|
||||||
system = {
|
system = {
|
||||||
copySystemConfiguration = true;
|
copySystemConfiguration = true;
|
||||||
stateVersion = "23.11";
|
stateVersion = "23.11";
|
||||||
|
|||||||
@ -10,11 +10,10 @@ in {
|
|||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
users.jawz = { config, pkgs, ... }: {
|
users.jawz = { config, pkgs, ... }: {
|
||||||
home.stateVersion = version;
|
home.stateVersion = version;
|
||||||
|
|
||||||
programs.bash = {
|
programs.bash = {
|
||||||
enable = true;
|
enable = true;
|
||||||
historyFile = "\${XDG_STATE_HOME}/bash/history";
|
historyFile = "\${XDG_STATE_HOME}/bash/history";
|
||||||
historyControl = [ "erasedups" "ignorespace" ];
|
historyControl = [ "erasedups" "ignorespace" "ignoredups" ];
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
hh = "hstr";
|
hh = "hstr";
|
||||||
ls = "eza --icons --group-directories-first";
|
ls = "eza --icons --group-directories-first";
|
||||||
@ -63,8 +62,8 @@ in {
|
|||||||
|
|
||||||
nixos-reload () {
|
nixos-reload () {
|
||||||
NIXOSDIR=/home/jawz/Development/NixOS
|
NIXOSDIR=/home/jawz/Development/NixOS
|
||||||
nix-store --add-fixed sha256 \
|
# nix-store --add-fixed sha256 \
|
||||||
$NIXOSDIR/PureRef-1.11.1_x64.Appimage
|
# $NIXOSDIR/PureRef-1.11.1_x64.Appimage
|
||||||
fd --full-path $NIXOSDIR -e nix -x nixfmt \;
|
fd --full-path $NIXOSDIR -e nix -x nixfmt \;
|
||||||
sudo unbuffer nixos-rebuild switch -I \
|
sudo unbuffer nixos-rebuild switch -I \
|
||||||
nixos-config="$NIXOSDIR/hosts/$HOSTNAME/configuration.nix" \
|
nixos-config="$NIXOSDIR/hosts/$HOSTNAME/configuration.nix" \
|
||||||
@ -96,9 +95,12 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
programs = {
|
programs = {
|
||||||
emacs.enable = true;
|
|
||||||
helix = { enable = true; };
|
helix = { enable = true; };
|
||||||
hstr.enable = true;
|
hstr.enable = true;
|
||||||
|
zoxide = {
|
||||||
|
enable = true;
|
||||||
|
enableBashIntegration = true;
|
||||||
|
};
|
||||||
direnv = {
|
direnv = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableBashIntegration = true;
|
enableBashIntegration = true;
|
||||||
@ -129,17 +131,7 @@ in {
|
|||||||
package = pkgs.htop-vim;
|
package = pkgs.htop-vim;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
services = {
|
services = { lorri.enable = true; };
|
||||||
lorri.enable = true;
|
|
||||||
emacs = {
|
|
||||||
enable = true;
|
|
||||||
defaultEditor = true;
|
|
||||||
package = with pkgs;
|
|
||||||
((emacsPackagesFor emacs-gtk).emacsWithPackages
|
|
||||||
(epkgs: [ epkgs.vterm ]));
|
|
||||||
startWithUserSession = "graphical";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,6 +14,7 @@ in {
|
|||||||
# ../../services/systemd-user/tasks.nix
|
# ../../services/systemd-user/tasks.nix
|
||||||
];
|
];
|
||||||
my = {
|
my = {
|
||||||
|
emacs.enable = true;
|
||||||
apps = {
|
apps = {
|
||||||
art.enable = true;
|
art.enable = true;
|
||||||
dictionaries.enable = true;
|
dictionaries.enable = true;
|
||||||
@ -29,6 +30,7 @@ in {
|
|||||||
python.enable = true;
|
python.enable = true;
|
||||||
gameDev.enable = true;
|
gameDev.enable = true;
|
||||||
};
|
};
|
||||||
|
shell = { exercism.enable = true; };
|
||||||
services = {
|
services = {
|
||||||
network.enable = true;
|
network.enable = true;
|
||||||
nvidia.enable = true;
|
nvidia.enable = true;
|
||||||
@ -98,6 +100,7 @@ in {
|
|||||||
packages = (with pkgs; [
|
packages = (with pkgs; [
|
||||||
obs-studio # screen recorder & streamer
|
obs-studio # screen recorder & streamer
|
||||||
pitivi # video editor
|
pitivi # video editor
|
||||||
|
gocryptfs # encrypted filesystem! shhh!!!
|
||||||
|
|
||||||
# celeste # sync tool for any cloud provider
|
# celeste # sync tool for any cloud provider
|
||||||
# czkawka # duplicate finder
|
# czkawka # duplicate finder
|
||||||
@ -107,21 +110,21 @@ in {
|
|||||||
pika-backup # backups
|
pika-backup # backups
|
||||||
gnome-obfuscate # censor private information
|
gnome-obfuscate # censor private information
|
||||||
|
|
||||||
unstable.yt-dlp # downloads videos from most video websites
|
|
||||||
gallery-dl # similar to yt-dlp but for most image gallery websites
|
|
||||||
|
|
||||||
(ripgrep.override { withPCRE2 = true; }) # modern grep
|
(ripgrep.override { withPCRE2 = true; }) # modern grep
|
||||||
du-dust # rusty du similar to gdu
|
du-dust # rusty du similar to gdu
|
||||||
eza # like ls but with colors
|
eza # like ls but with colors
|
||||||
fd # modern find, faster searches
|
fd # modern find, faster searches
|
||||||
ffmpeg_5-full # not ffmpreg, the coolest video conversion tool!
|
ffmpeg # not ffmpreg, the coolest video conversion tool!
|
||||||
fzf # fuzzy finder! super cool and useful
|
fzf # fuzzy finder! super cool and useful
|
||||||
|
gallery-dl # similar to yt-dlp but for most image gallery websites
|
||||||
gdu # disk-space utility checker, somewhat useful
|
gdu # disk-space utility checker, somewhat useful
|
||||||
gocryptfs # encrypted filesystem! shhh!!!
|
|
||||||
imagemagick # photoshop what??
|
imagemagick # photoshop what??
|
||||||
rmlint # probably my favourite app, amazing dupe finder that integrates well with BTRFS
|
rmlint # probably my favourite app, amazing dupe finder that integrates well with BTRFS
|
||||||
torrenttools # create torrent files from the terminal!
|
tldr # man for retards
|
||||||
trash-cli # oop! did not meant to delete that
|
trash-cli # oop! did not meant to delete that
|
||||||
|
yt-dlp # downloads videos from most video websites
|
||||||
|
|
||||||
|
torrenttools # create torrent files from the terminal!
|
||||||
vcsi # video thumbnails for torrents, can I replace it with ^?
|
vcsi # video thumbnails for torrents, can I replace it with ^?
|
||||||
|
|
||||||
(writeScriptBin "tasks" (builtins.readFile ../../scripts/tasks.sh))
|
(writeScriptBin "tasks" (builtins.readFile ../../scripts/tasks.sh))
|
||||||
@ -145,11 +148,7 @@ in {
|
|||||||
xdotool
|
xdotool
|
||||||
xclip
|
xclip
|
||||||
|
|
||||||
tldr # man for retards
|
|
||||||
exercism # learn to code
|
|
||||||
|
|
||||||
# SH
|
# SH
|
||||||
bats # testing system, required by Exercism
|
|
||||||
bashdb # autocomplete
|
bashdb # autocomplete
|
||||||
shellcheck # linting
|
shellcheck # linting
|
||||||
shfmt # a shell parser and formatter
|
shfmt # a shell parser and formatter
|
||||||
@ -214,6 +213,12 @@ in {
|
|||||||
package = pkgs.gnomeExtensions.gsconnect;
|
package = pkgs.gnomeExtensions.gsconnect;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# programs.nh = {
|
||||||
|
# enable = true;
|
||||||
|
# clean.enable = true;
|
||||||
|
# clean.extraArgs = "--keep-since 4d --keep 3";
|
||||||
|
# };
|
||||||
|
|
||||||
services.resilio = {
|
services.resilio = {
|
||||||
deviceName = "chichis";
|
deviceName = "chichis";
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@ -58,6 +58,11 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
fileSystems = let
|
fileSystems = let
|
||||||
|
nfsMount = nfsDisk: {
|
||||||
|
device = "server:/${nfsDisk}";
|
||||||
|
fsType = "nfs";
|
||||||
|
options = [ "x-systemd.automount" "noauto" "x-systemd.idle-timeout=600" ];
|
||||||
|
};
|
||||||
btrfsMount = subvol: {
|
btrfsMount = subvol: {
|
||||||
device = "/dev/mapper/nvme";
|
device = "/dev/mapper/nvme";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
|
|||||||
@ -1,6 +1,10 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
let
|
||||||
{
|
unstable = import
|
||||||
|
(builtins.fetchTarball "https://github.com/nixos/nixpkgs/tarball/master") {
|
||||||
|
config = config.nixpkgs.config;
|
||||||
|
};
|
||||||
|
in {
|
||||||
options.my.apps.gaming.enable = lib.mkEnableOption "enable";
|
options.my.apps.gaming.enable = lib.mkEnableOption "enable";
|
||||||
config = lib.mkIf config.my.apps.gaming.enable {
|
config = lib.mkIf config.my.apps.gaming.enable {
|
||||||
programs.steam = {
|
programs.steam = {
|
||||||
|
|||||||
@ -10,7 +10,9 @@
|
|||||||
celluloid # video player
|
celluloid # video player
|
||||||
curtail # image compressor
|
curtail # image compressor
|
||||||
easyeffects # equalizer
|
easyeffects # equalizer
|
||||||
handbrake # video converter, may be unnecessary
|
# (handbrake.override {
|
||||||
|
# useGtk = true;
|
||||||
|
# }) # video converter, may be unnecessary
|
||||||
identity # compare images or videos
|
identity # compare images or videos
|
||||||
mousai # poor man shazam
|
mousai # poor man shazam
|
||||||
shortwave # listen to world radio
|
shortwave # listen to world radio
|
||||||
|
|||||||
@ -1,6 +1,10 @@
|
|||||||
{ config, lib, pkgs, unstable, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
let
|
||||||
{
|
unstable = import
|
||||||
|
(builtins.fetchTarball "https://github.com/nixos/nixpkgs/tarball/master") {
|
||||||
|
config = config.nixpkgs.config;
|
||||||
|
};
|
||||||
|
in {
|
||||||
options.my.apps.office.enable = lib.mkEnableOption "enable";
|
options.my.apps.office.enable = lib.mkEnableOption "enable";
|
||||||
config = lib.mkIf config.my.apps.office.enable {
|
config = lib.mkIf config.my.apps.office.enable {
|
||||||
users.users.jawz.packages = with pkgs; ([
|
users.users.jawz.packages = with pkgs; ([
|
||||||
@ -8,6 +12,7 @@
|
|||||||
calibre # ugly af eBook library manager
|
calibre # ugly af eBook library manager
|
||||||
newsflash # feed reader, syncs with nextcloud
|
newsflash # feed reader, syncs with nextcloud
|
||||||
furtherance # I packaged this one tehee track time utility
|
furtherance # I packaged this one tehee track time utility
|
||||||
|
unstable.planify # let's pretend I will organize my tasks
|
||||||
# foliate # gtk eBook reader
|
# foliate # gtk eBook reader
|
||||||
# wike # gtk wikipedia wow!
|
# wike # gtk wikipedia wow!
|
||||||
# denaro # manage your finances
|
# denaro # manage your finances
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }: {
|
||||||
|
imports = [ ./dev/haskell.nix ./dev/nix.nix ./dev/python.nix ./emacs.nix ];
|
||||||
{
|
my.emacs.enable = lib.mkDefault false;
|
||||||
imports = [ ./dev/haskell.nix ./dev/nix.nix ./dev/python.nix ];
|
|
||||||
my.dev = {
|
my.dev = {
|
||||||
haskell.enable = lib.mkDefault false;
|
haskell.enable = lib.mkDefault false;
|
||||||
nix.enable = lib.mkDefault false;
|
nix.enable = lib.mkDefault false;
|
||||||
|
|||||||
24
modules/emacs.nix
Normal file
24
modules/emacs.nix
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
{ config, lib, pkgs, unstable, ... }: {
|
||||||
|
options.my.emacs.enable = lib.mkEnableOption "enable";
|
||||||
|
config = lib.mkIf config.my.emacs.enable {
|
||||||
|
users.users.jawz.packages = with pkgs; ([
|
||||||
|
fd # modern find, faster searches
|
||||||
|
(ripgrep.override { withPCRE2 = true; }) # modern grep
|
||||||
|
]);
|
||||||
|
services.emacs = {
|
||||||
|
enable = true;
|
||||||
|
package = with pkgs;
|
||||||
|
((emacsPackagesFor emacs-gtk).emacsWithPackages
|
||||||
|
(epkgs: with epkgs; ([ vterm ])));
|
||||||
|
defaultEditor = true;
|
||||||
|
};
|
||||||
|
home-manager.users.jawz.programs.bash.initExtra = ''
|
||||||
|
emacs-sqlite-fix () {
|
||||||
|
nix-shell -p cmake sqlite --command "doom sync &&
|
||||||
|
sc restart emacs &&
|
||||||
|
emacsclient -e '(org-roam-db-sync)'" &&
|
||||||
|
doom sync
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
12
modules/shell.nix
Normal file
12
modules/shell.nix
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [ ./shell/exercism.nix ./dev/python.nix ./dev/haskell.nix ];
|
||||||
|
my = {
|
||||||
|
shell = { exercism.enable = lib.mkDefault false; };
|
||||||
|
dev = {
|
||||||
|
haskell.enable = lib.mkDefault false;
|
||||||
|
python.enable = lib.mkDefault false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
11
modules/shell/exercism.nix
Normal file
11
modules/shell/exercism.nix
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
{ config, lib, pkgs, unstable, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
options.my.shell.exercism.enable = lib.mkEnableOption "enable";
|
||||||
|
config = lib.mkIf config.my.shell.exercism.enable {
|
||||||
|
users.users.jawz.packages = with pkgs; ([
|
||||||
|
exercism # learn to code
|
||||||
|
bats # testing system, required by Exercism
|
||||||
|
]);
|
||||||
|
};
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user