feat: a lot
This commit is contained in:
parent
d0c7269927
commit
7ff831ee1c
13 changed files with 128 additions and 79 deletions
18
flake.lock
generated
18
flake.lock
generated
|
|
@ -7,11 +7,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1706955260,
|
"lastModified": 1707175763,
|
||||||
"narHash": "sha256-W3y0j77IDVbmbajudHoUr46RpswujUCl+D5Vru53UsI=",
|
"narHash": "sha256-0MKHC6tQ4KEuM5rui6DjKZ/VNiSANB4E+DJ/+wPS1PU=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "880d9bc2110f7cae59698f715b8ca42cdc53670c",
|
"rev": "f99eace7c167b8a6a0871849493b1c613d0f1b80",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -22,11 +22,11 @@
|
||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1706834982,
|
"lastModified": 1707211557,
|
||||||
"narHash": "sha256-3CfxA7gZ+DVv/N9Pvw61bV5Oe/mWfxYPyVQGqp9TMJA=",
|
"narHash": "sha256-LTKTzZ6fM5j8XWXf51IMBzDaOaJg9kYWLUZxoIhzRN8=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "83e571bb291161682b9c3ccd48318f115143a550",
|
"rev": "6e5cc385fc8cf5ca6495d70243074ccdea9f64c7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -38,11 +38,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1706732774,
|
"lastModified": 1707092692,
|
||||||
"narHash": "sha256-hqJlyJk4MRpcItGYMF+3uHe8HvxNETWvlGtLuVpqLU0=",
|
"narHash": "sha256-ZbHsm+mGk/izkWtT4xwwqz38fdlwu7nUUKXTOmm4SyE=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "b8b232ae7b8b144397fdb12d20f592e5e7c1a64d",
|
"rev": "faf912b086576fd1a15fca610166c98d47bc667e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
||||||
|
|
@ -55,6 +55,7 @@
|
||||||
./dbus.nix
|
./dbus.nix
|
||||||
./fonts.nix
|
./fonts.nix
|
||||||
./greetd.nix
|
./greetd.nix
|
||||||
|
./gstreamer.nix
|
||||||
./i18n.nix
|
./i18n.nix
|
||||||
./kdeconnect.nix
|
./kdeconnect.nix
|
||||||
./keyd.nix
|
./keyd.nix
|
||||||
|
|
@ -70,6 +71,7 @@
|
||||||
./packages.nix
|
./packages.nix
|
||||||
./printing.nix
|
./printing.nix
|
||||||
./security.nix
|
./security.nix
|
||||||
|
./services.nix
|
||||||
./shell.nix
|
./shell.nix
|
||||||
./steam.nix
|
./steam.nix
|
||||||
./udisks2.nix
|
./udisks2.nix
|
||||||
|
|
|
||||||
8
modules/gstreamer.nix
Normal file
8
modules/gstreamer.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
{ lib, pkgs, ... }: {
|
||||||
|
environment.sessionVariables.GST_PLUGIN_SYSTEM_PATH_1_0 = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" (with pkgs.gst_all_1; [
|
||||||
|
gst-plugins-base
|
||||||
|
gst-plugins-good
|
||||||
|
gst-plugins-bad
|
||||||
|
gst-plugins-ugly
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
@ -1,21 +1,21 @@
|
||||||
{ lib, pkgs, config, ... }: {
|
{ lib, pkgs, config, ... }: {
|
||||||
environment.systemPackages = with pkgs; with config.bchmnn; [
|
environment.systemPackages = with pkgs; with config.bchmnn; [
|
||||||
pciutils
|
pciutils # A collection of programs for inspecting and manipulating configuration of PCI devices
|
||||||
usbutils
|
usbutils # Tools for working with USB devices, such as lsusb
|
||||||
git
|
git # Distributed version control system
|
||||||
gnumake
|
gnumake # A tool to control the generation of non-source files from sources
|
||||||
mercurial # contains 'hg'
|
mercurial # A fast, lightweight SCM system for very large distributed projects
|
||||||
wget
|
wget # Tool for retrieving files using HTTP, HTTPS, and FTP
|
||||||
neofetch
|
neofetch # A fast, highly customizable system info script
|
||||||
lsd
|
lsd # The next gen ls command
|
||||||
ripgrep
|
ripgrep # A utility that combines the usability of The Silver Searcher with the raw speed of grep
|
||||||
expect # contains 'unbuffer'
|
expect # A tool for automating interactive applications
|
||||||
jq # parse json
|
jq # A lightweight and flexible command-line JSON processor
|
||||||
unzip
|
unzip # An extraction utility for archives compressed in .zip format
|
||||||
libsecret
|
libsecret # A library for storing and retrieving passwords and other secrets
|
||||||
xidel # xml parser
|
xidel # Command line tool to download and extract data from HTML/XML pages as well as JSON APIs
|
||||||
nvd # nix diff package versions between two store paths
|
nvd # Nix/NixOS package version diff tool
|
||||||
inotify-tools # set of command-line programs providing a simple interface to inotify
|
inotify-tools # a C library and a set of command-line programs providing a simple interface to inotify
|
||||||
] ++ lib.optionals (devenv.enable) [
|
] ++ lib.optionals (devenv.enable) [
|
||||||
# languages
|
# languages
|
||||||
gcc13
|
gcc13
|
||||||
|
|
@ -32,10 +32,11 @@
|
||||||
bun-baseline
|
bun-baseline
|
||||||
nodejs_21
|
nodejs_21
|
||||||
nodenv
|
nodenv
|
||||||
|
nodePackages.yarn
|
||||||
|
nodePackages.pnpm
|
||||||
] ++ lib.optionals (gui.enable) [
|
] ++ lib.optionals (gui.enable) [
|
||||||
libnotify
|
libnotify # A library that sends desktop notifications to a notification daemon
|
||||||
glib # gsettings
|
xdg-utils # A set of command line tools that assist applications with a variety of desktop integration tasks
|
||||||
xdg-utils # for opening default programs
|
|
||||||
] ++ lib.optionals (gui.enable && lib.elem "sway" gui.flavour) [
|
] ++ lib.optionals (gui.enable && lib.elem "sway" gui.flavour) [
|
||||||
qt5.qtwayland
|
qt5.qtwayland
|
||||||
qt6.qtwayland
|
qt6.qtwayland
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
{ config, lib, ... }: {
|
{ config, lib, ... }: {
|
||||||
security.polkit.enable = true;
|
|
||||||
|
|
||||||
|
security.polkit.enable = true;
|
||||||
# rtkit is optional but recommended
|
# rtkit is optional but recommended
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
|
networking.firewall.enable = true;
|
||||||
|
|
||||||
} // (lib.mkIf (lib.elem "sway" config.bchmnn.gui.flavour) {
|
} // (lib.mkIf (lib.elem "sway" config.bchmnn.gui.flavour) {
|
||||||
|
|
||||||
|
|
@ -10,4 +11,10 @@
|
||||||
# https://github.com/NixOS/nixpkgs/issues/158025
|
# https://github.com/NixOS/nixpkgs/issues/158025
|
||||||
security.pam.services.swaylock = { };
|
security.pam.services.swaylock = { };
|
||||||
|
|
||||||
|
}) // (lib.mkIf (config.bchmnn.devenv.enable) {
|
||||||
|
|
||||||
|
networking.firewall = {
|
||||||
|
allowedTCPPorts = [ 3000 ];
|
||||||
|
};
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
|
||||||
8
modules/services.nix
Normal file
8
modules/services.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
{ ... }: {
|
||||||
|
|
||||||
|
services.plex = {
|
||||||
|
enable = false;
|
||||||
|
openFirewall = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -1,7 +1,13 @@
|
||||||
{ config, lib, pkgs, ... }: lib.mkIf config.bchmnn.virtualisation.enable {
|
{ config, lib, pkgs, ... }: lib.mkIf config.bchmnn.virtualisation.enable {
|
||||||
|
|
||||||
# virt-manager
|
# virt-manager
|
||||||
virtualisation.libvirtd.enable = true;
|
virtualisation = {
|
||||||
|
docker = {
|
||||||
|
enable = true;
|
||||||
|
storageDriver = "btrfs";
|
||||||
|
};
|
||||||
|
libvirtd.enable = true;
|
||||||
|
};
|
||||||
programs = {
|
programs = {
|
||||||
dconf.enable = true;
|
dconf.enable = true;
|
||||||
virt-manager.enable = true;
|
virt-manager.enable = true;
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ in
|
||||||
{
|
{
|
||||||
users.users.gandalf = {
|
users.users.gandalf = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
extraGroups = [ "wheel" "networkmanager" "libvirtd" ];
|
extraGroups = [ "wheel" "networkmanager" "libvirtd" "docker" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ in
|
||||||
udiskie # automount usb
|
udiskie # automount usb
|
||||||
blueman # control bluetooth
|
blueman # control bluetooth
|
||||||
nextcloud-client # nextcloud client to connect to any instance
|
nextcloud-client # nextcloud client to connect to any instance
|
||||||
plasma5Packages.kdeconnect-kde # sync phone and pc
|
libsForQt5.kdeconnect-kde # sync phone and pc
|
||||||
system-config-printer # printer manager
|
system-config-printer # printer manager
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,33 +7,40 @@
|
||||||
./keyring.nix
|
./keyring.nix
|
||||||
./obs.nix
|
./obs.nix
|
||||||
./vscode.nix
|
./vscode.nix
|
||||||
|
./zathura.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
tor-browser
|
|
||||||
firefox
|
firefox # a web browser built from firefox source tree
|
||||||
thunderbird
|
thunderbird # a full-featured e-mail client
|
||||||
speechd # https://support.mozilla.org/en-US/kb/speechd-setup
|
speechd # common interface to speech synthesis - https://support.mozilla.org/en-us/kb/speechd-setup
|
||||||
gnome.nautilus
|
tor-browser # privacy-focused browser routing traffic through the tor network
|
||||||
gimp
|
qbittorrent # featureful free software bittorrent client
|
||||||
vlc
|
|
||||||
calibre
|
telegram-desktop # telegram desktop messaging app
|
||||||
qbittorrent
|
signal-desktop # private, simple, and secure messenger
|
||||||
gnome.simple-scan
|
zoom-us # zoom.us video conferencing application
|
||||||
telegram-desktop
|
|
||||||
signal-desktop
|
gnome.nautilus # the file manager for gnome
|
||||||
zoom-us
|
gnome.simple-scan # simple scanning utility
|
||||||
zathura
|
feh # a light-weight image viewer
|
||||||
obsidian
|
vlc # cross-platform media player and streaming server
|
||||||
libreoffice
|
zathura # a highly customizable and functional pdf viewer
|
||||||
|
neovide # a simple graphical user interface for neovim
|
||||||
|
|
||||||
|
obsidian # a powerful knowledge base that works on top of a local folder of plain text markdown files
|
||||||
|
gimp # the gnu image manipulation program
|
||||||
|
calibre # comprehensive e-book software
|
||||||
|
libreoffice # comprehensive, professional-quality productivity suite, a variant of openoffice.org
|
||||||
carla # audio plugin host
|
carla # audio plugin host
|
||||||
aether-lv2 # an algorithmic reverb lv2 based on cloudseed
|
|
||||||
picard # musicbrainz picard audio file tagger
|
picard # musicbrainz picard audio file tagger
|
||||||
|
|
||||||
] ++ lib.optionals nixosConfig.bchmnn.printing.enable [
|
] ++ lib.optionals nixosConfig.bchmnn.printing.enable [
|
||||||
system-config-printer
|
system-config-printer # graphical user interface for cups administration
|
||||||
] ++ lib.optionals nixosConfig.bchmnn.games.enable [
|
] ++ lib.optionals nixosConfig.bchmnn.games.enable [
|
||||||
prismlauncher
|
openjdk17 # the open-source java development kit
|
||||||
openjdk17
|
prismlauncher # a free, open source launcher for minecraft
|
||||||
];
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
9
users/gandalf/modules/gui/programs/zathura.nix
Normal file
9
users/gandalf/modules/gui/programs/zathura.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
{ ... }: {
|
||||||
|
# a highly customizable and functional pdf viewer
|
||||||
|
programs.zathura = {
|
||||||
|
enable = true;
|
||||||
|
options = {
|
||||||
|
selection-clipboard = "clipboard";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, lib, config, nixosConfig, ... }:
|
{ pkgs, lib, config, ... }:
|
||||||
let
|
let
|
||||||
|
|
||||||
cfg = config.wayland.windowManager.sway.config;
|
cfg = config.wayland.windowManager.sway.config;
|
||||||
|
|
@ -15,22 +15,22 @@ in
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
brightnessctl # control screen brightness
|
brightnessctl # this program allows you read and control device brightness
|
||||||
pavucontrol # control audio
|
pavucontrol # pulseaudio volume control
|
||||||
playerctl # control player
|
playerctl # command-line utility and library for controlling media players that implement mpris
|
||||||
networkmanagerapplet # control network
|
networkmanagerapplet # networkmanager control applet for gnome
|
||||||
udiskie # automount usb
|
udiskie # removable disk automounter for udisks
|
||||||
dracula-theme # gtk theme
|
dracula-theme # dracula variant of the ant theme
|
||||||
gnome3.adwaita-icon-theme # default gnome cursors
|
gnome3.adwaita-icon-theme
|
||||||
wl-clipboard # cli tool to manage wayland clipboard
|
wl-clipboard # command-line copy/paste utilities for wayland
|
||||||
sway-contrib.grimshot
|
sway-contrib.grimshot # a helper for screenshots within sway
|
||||||
wdisplays
|
wdisplays # a graphical application for configuring displays in wayland compositors
|
||||||
wlr-randr
|
wlr-randr # an xrandr clone for wlroots compositors
|
||||||
kanshi # display manager
|
kanshi # dynamic display configuration tool
|
||||||
nextcloud-client # self hosted cloud client
|
nextcloud-client # nextcloud themed desktop client
|
||||||
plasma5Packages.kdeconnect-kde # sync phone and pc
|
libsForQt5.kdeconnect-kde # kde connect provides several features to integrate your phone and your computer
|
||||||
system-config-printer # printer manager
|
system-config-printer # graphical user interface for cups administration
|
||||||
emote # emoji picker
|
emote # modern emoji picker for linux
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.swaylock = {
|
programs.swaylock = {
|
||||||
|
|
@ -81,12 +81,12 @@ in
|
||||||
menu = "${pkgs.wofi}/bin/wofi";
|
menu = "${pkgs.wofi}/bin/wofi";
|
||||||
startup = with pkgs; [
|
startup = with pkgs; [
|
||||||
# TODO activate with systemd prbly requires a graphical.target?
|
# TODO activate with systemd prbly requires a graphical.target?
|
||||||
{ command = "${nixosConfig.systemd.package}/bin/systemctl --user import-environment XDG_SESSION_TYPE XDG_CURRENT_DESKTOP"; }
|
# { command = "${nixosConfig.systemd.package}/bin/systemctl --user import-environment XDG_SESSION_TYPE XDG_CURRENT_DESKTOP"; }
|
||||||
{ command = "${dbus}/bin/dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway"; }
|
# { command = "${dbus}/bin/dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway"; }
|
||||||
{ command = "${nixosConfig.systemd.package}/bin/systemctl --user stop xdg-desktop-portal xdg-desktop-portal-wlr"; }
|
# { command = "${nixosConfig.systemd.package}/bin/systemctl --user stop xdg-desktop-portal xdg-desktop-portal-wlr"; }
|
||||||
{ command = "${nixosConfig.systemd.package}/bin/systemctl --user start xdg-desktop-portal xdg-desktop-portal-wlr"; }
|
# { command = "${nixosConfig.systemd.package}/bin/systemctl --user start xdg-desktop-portal xdg-desktop-portal-wlr"; }
|
||||||
# { command = "${dbus}/bin/dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK"; }
|
# { command = "${dbus}/bin/dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK"; }
|
||||||
# { command = "${dbus}/bin/dbus-update-activation-environment --all"; }
|
{ command = "${dbus}/bin/dbus-update-activation-environment --all"; }
|
||||||
{ command = "${kanshi}/bin/kanshi"; }
|
{ command = "${kanshi}/bin/kanshi"; }
|
||||||
{ command = "${networkmanagerapplet}/bin/nm-applet"; }
|
{ command = "${networkmanagerapplet}/bin/nm-applet"; }
|
||||||
{ command = "${blueman}/bin/blueman-applet"; }
|
{ command = "${blueman}/bin/blueman-applet"; }
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,16 @@
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }: {
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
gopass
|
gopass # slightly more awesome standard unix password manager for teams. written in go
|
||||||
gopass-jsonapi
|
gopass-jsonapi # enables communication with gopass via json messages
|
||||||
yt-dlp
|
yt-dlp # command-line tool to download videos from youtube.com and other sites (youtube-dl fork)
|
||||||
ranger # a vim-inspired filemanager for the console
|
ranger # a vim-inspired filemanager for the console
|
||||||
gdu # fast disk usage analyzer with console interface written in go
|
gdu # fast disk usage analyzer with console interface written in go
|
||||||
duf # disk usage/free utility - a better 'df' alternative
|
duf # disk usage/free utility - a better 'df' alternative
|
||||||
phoronix-test-suite # the phoronix test suite open-source, cross-platform automated testing/benchmarking software
|
phoronix-test-suite # the phoronix test suite open-source, cross-platform automated testing/benchmarking software
|
||||||
ffmpeg
|
ffmpeg # complete, cross-platform solution to record, convert and stream audio and video
|
||||||
texliveFull
|
texliveFull # tex live environment
|
||||||
|
imagemagick # software suite to create, edit, compose, or convert bitmap images
|
||||||
];
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue