Merge branch 'main' of github.com:bloxx12/nichts
This commit is contained in:
commit
c34b880959
25 changed files with 1272 additions and 263 deletions
|
@ -5,6 +5,7 @@
|
||||||
../../../options/common/pin-registry.nix
|
../../../options/common/pin-registry.nix
|
||||||
../../../options/common/preserve-system.nix
|
../../../options/common/preserve-system.nix
|
||||||
../../../options/desktop/fonts.nix
|
../../../options/desktop/fonts.nix
|
||||||
|
./packages.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
|
@ -12,17 +13,15 @@
|
||||||
time.timeZone = "Europe/Zurich";
|
time.timeZone = "Europe/Zurich";
|
||||||
security.sudo.package = pkgs.sudo.override { withInsults = true; };
|
security.sudo.package = pkgs.sudo.override { withInsults = true; };
|
||||||
|
|
||||||
services.xserver = {
|
services.displayManager = {
|
||||||
enable = true;
|
|
||||||
displayManager = {
|
|
||||||
sessionPackages = [ pkgs.hyprland ]; # pkgs.gnome.gnome-session.sessions ];
|
sessionPackages = [ pkgs.hyprland ]; # pkgs.gnome.gnome-session.sessions ];
|
||||||
defaultSession = "hyprland";
|
defaultSession = "hyprland";
|
||||||
sddm = {
|
sddm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
wayland.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
windowManager.hypr.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
hardware.bluetooth.enable = true;
|
hardware.bluetooth.enable = true;
|
||||||
hardware.bluetooth.powerOnBoot = true;
|
hardware.bluetooth.powerOnBoot = true;
|
||||||
|
@ -110,18 +109,22 @@
|
||||||
|
|
||||||
modules = {
|
modules = {
|
||||||
other = {
|
other = {
|
||||||
system = {
|
system = rec {
|
||||||
hostname = "flocke";
|
hostname = "flocke";
|
||||||
username = "dragyx";
|
username = "dragyx";
|
||||||
monitors = {
|
gitPath = "/home/${username}/repos/nichts";
|
||||||
|
monitors = [
|
||||||
|
{
|
||||||
name = "LaptopMain";
|
name = "LaptopMain";
|
||||||
|
device = "eDP-1";
|
||||||
resolution = {
|
resolution = {
|
||||||
x = 2256;
|
x = 2256;
|
||||||
y = 1504;
|
y = 1504;
|
||||||
};
|
};
|
||||||
scale = 1.0;
|
scale = 1.175;
|
||||||
refresh_rate = 60;
|
refresh_rate = 60;
|
||||||
};
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
home-manager = {
|
home-manager = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -134,7 +137,7 @@
|
||||||
mpv.enable = true;
|
mpv.enable = true;
|
||||||
schizofox.enable = true;
|
schizofox.enable = true;
|
||||||
obs.enable = true;
|
obs.enable = true;
|
||||||
neovim.enable = true;
|
# neovim.enable = true;
|
||||||
git = {
|
git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
userName = "Dragyx";
|
userName = "Dragyx";
|
||||||
|
|
|
@ -28,7 +28,7 @@ in
|
||||||
android-tools
|
android-tools
|
||||||
signal-desktop
|
signal-desktop
|
||||||
nextcloud-client
|
nextcloud-client
|
||||||
etcher
|
# etcher
|
||||||
vlc
|
vlc
|
||||||
audacity
|
audacity
|
||||||
thunderbird
|
thunderbird
|
||||||
|
|
|
@ -1,11 +1,39 @@
|
||||||
{ config, inputs, pkgs, ... }:
|
{ config, inputs, pkgs, ... }:
|
||||||
{
|
{
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
# Time Zone
|
||||||
time.timeZone = "Europe/Zurich";
|
time.timeZone = "Europe/Zurich";
|
||||||
|
# Select internationalisation properties.
|
||||||
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
console.keyMap = "de";
|
console.keyMap = "de";
|
||||||
|
# enable flakes
|
||||||
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||||
|
|
||||||
|
# reduce file size used & automatic garbage collector
|
||||||
|
nix.settings.auto-optimise-store = true;
|
||||||
|
nix.gc = {
|
||||||
|
automatic = true;
|
||||||
|
options = "--delete-older-than 14d";
|
||||||
|
};
|
||||||
|
# required for nix-direnv to work and have environments not garbage collected
|
||||||
|
nix.extraOptions = ''
|
||||||
|
keep-outputs = true
|
||||||
|
keep-derivations = true
|
||||||
|
'';
|
||||||
security.sudo.package = pkgs.sudo.override { withInsults = true; };
|
security.sudo.package = pkgs.sudo.override { withInsults = true; };
|
||||||
security.polkit.enable = true;
|
security.polkit.enable = true;
|
||||||
programs.kdeconnect.enable = true;
|
programs.kdeconnect.enable = true;
|
||||||
|
services.mpd = {
|
||||||
|
enable = true;
|
||||||
|
musicDirectory = "/home/vali/Nextcloud/Media/Music/";
|
||||||
|
startWhenNeeded = true;
|
||||||
|
extraConfig = ''
|
||||||
|
audio_output {
|
||||||
|
type "pipewire"
|
||||||
|
name "My PipeWire Output"
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
modules = {
|
modules = {
|
||||||
other = {
|
other = {
|
||||||
system = {
|
system = {
|
||||||
|
@ -20,6 +48,7 @@
|
||||||
};
|
};
|
||||||
programs = {
|
programs = {
|
||||||
vesktop.enable = true;
|
vesktop.enable = true;
|
||||||
|
ncmpcpp.enable = true;
|
||||||
ssh.enable = true;
|
ssh.enable = true;
|
||||||
btop.enable = true;
|
btop.enable = true;
|
||||||
mpv.enable = true;
|
mpv.enable = true;
|
||||||
|
|
|
@ -4,8 +4,6 @@ _: {
|
||||||
./programs.nix
|
./programs.nix
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./profile.nix
|
./profile.nix
|
||||||
./i3.nix
|
./i3
|
||||||
./awesome.nix
|
|
||||||
./hypr/default.nix
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
190
hosts/vali/mars/i3/config
Normal file
190
hosts/vali/mars/i3/config
Normal file
|
@ -0,0 +1,190 @@
|
||||||
|
# This file has been auto-generated by i3-config-wizard(1).
|
||||||
|
# It will not be overwritten, so edit it as you like.
|
||||||
|
#
|
||||||
|
# Should you change your keyboard layout some time, delete
|
||||||
|
# this file and re-run i3-config-wizard(1).
|
||||||
|
#
|
||||||
|
|
||||||
|
# i3 config file (v4)
|
||||||
|
#
|
||||||
|
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
|
||||||
|
|
||||||
|
set $mod Mod4
|
||||||
|
|
||||||
|
# Font for window titles. Will also be used by the bar unless a different font
|
||||||
|
# is used in the bar {} block below.
|
||||||
|
font pango:monospace 12
|
||||||
|
|
||||||
|
# This font is widely installed, provides lots of unicode glyphs, right-to-left
|
||||||
|
# text rendering and scalability on retina/hidpi displays (thanks to pango).
|
||||||
|
#font pango:DejaVu Sans Mono 8
|
||||||
|
|
||||||
|
# Start XDG autostart .desktop files using dex. See also
|
||||||
|
# https://wiki.archlinux.org/index.php/XDG_Autostart
|
||||||
|
exec --no-startup-id dex --autostart --environment i3
|
||||||
|
exec --no-startup-id xrandr --output HDMI-1 --rotate normal --output DP-2 --rotate normal --left-of HDMI-1 --output HDMI-0 --right-of HDMI-1
|
||||||
|
# The combination of xss-lock, nm-applet and pactl is a popular choice, so
|
||||||
|
# they are included here as an example. Modify as you see fit.
|
||||||
|
|
||||||
|
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
|
||||||
|
# screen before suspend. Use loginctl lock-session to lock your screen.
|
||||||
|
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
|
||||||
|
|
||||||
|
# NetworkManager is the most popular way to manage wireless networks on Linux,
|
||||||
|
# and nm-applet is a desktop environment-independent system tray GUI for it.
|
||||||
|
exec --no-startup-id nm-applet
|
||||||
|
|
||||||
|
# Use pactl to adjust volume in PulseAudio.
|
||||||
|
set $refresh_i3status killall -SIGUSR1 i3status
|
||||||
|
bindsym 123 exec --no-startup-id wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+ && $refresh_i3status
|
||||||
|
bindsym 122 exec --no-startup-id wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+ && $refresh_i3status
|
||||||
|
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
|
||||||
|
bindsym 198 exec --no-startup-id pamixer --default-source -t && $refresh_i3status
|
||||||
|
|
||||||
|
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||||
|
floating_modifier $mod
|
||||||
|
|
||||||
|
# move tiling windows via drag & drop by left-clicking into the title bar,
|
||||||
|
# or left-clicking anywhere into the window while holding the floating modifier.
|
||||||
|
tiling_drag modifier titlebar
|
||||||
|
|
||||||
|
# start a terminal
|
||||||
|
bindsym $mod+Return exec --no-startup-id alacritty
|
||||||
|
|
||||||
|
# kill focused window
|
||||||
|
bindsym $mod+Shift+q kill
|
||||||
|
|
||||||
|
# start dmenu (a program launcher)
|
||||||
|
bindsym $mod+d exec --no-startup-id dmenu_run
|
||||||
|
# A more modern dmenu replacement is rofi:
|
||||||
|
# There also is i3-dmenu-desktop which only displays applications shipping a
|
||||||
|
# .desktop file. It is a wrapper around dmenu, so you need that installed.
|
||||||
|
# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop
|
||||||
|
|
||||||
|
# change focus
|
||||||
|
bindsym $mod+h focus left
|
||||||
|
bindsym $mod+j focus down
|
||||||
|
bindsym $mod+k focus up
|
||||||
|
bindsym $mod+l focus right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Left focus left
|
||||||
|
bindsym $mod+Down focus down
|
||||||
|
bindsym $mod+Up focus up
|
||||||
|
bindsym $mod+Right focus right
|
||||||
|
|
||||||
|
# move focused window
|
||||||
|
bindsym $mod+Shift+h move left
|
||||||
|
bindsym $mod+Shift+j move down
|
||||||
|
bindsym $mod+Shift+k move up
|
||||||
|
bindsym $mod+Shift+l move right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Shift+Left move left
|
||||||
|
bindsym $mod+Shift+Down move down
|
||||||
|
bindsym $mod+Shift+Up move up
|
||||||
|
bindsym $mod+Shift+Right move right
|
||||||
|
|
||||||
|
# split in horizontal orientation
|
||||||
|
bindsym $mod+x split h
|
||||||
|
|
||||||
|
# split in vertical orientation
|
||||||
|
bindsym $mod+y split v
|
||||||
|
|
||||||
|
# enter fullscreen mode for the focused container
|
||||||
|
bindsym $mod+f fullscreen toggle
|
||||||
|
|
||||||
|
# change container layout (stacked, tabbed, toggle split)
|
||||||
|
bindsym $mod+w layout tabbed
|
||||||
|
bindsym $mod+s layout splith
|
||||||
|
|
||||||
|
# toggle tiling / floating
|
||||||
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
|
||||||
|
# change focus between tiling / floating windows
|
||||||
|
bindsym $mod+space focus mode_toggle
|
||||||
|
|
||||||
|
# focus the parent container
|
||||||
|
bindsym $mod+a focus parent
|
||||||
|
|
||||||
|
# focus the child container
|
||||||
|
#bindsym $mod+d focus child
|
||||||
|
default_border pixel 3
|
||||||
|
#smart_borders on
|
||||||
|
hide_edge_borders smart_no_gaps
|
||||||
|
# Define names for default workspaces for which we configure key bindings later on.
|
||||||
|
# We use variables to avoid repeating the names in multiple places.
|
||||||
|
set $ws1 "1"
|
||||||
|
set $ws2 "2"
|
||||||
|
set $ws3 "3"
|
||||||
|
set $ws4 "4"
|
||||||
|
set $ws5 "5"
|
||||||
|
set $ws6 "6"
|
||||||
|
set $ws7 "7"
|
||||||
|
set $ws8 "8"
|
||||||
|
set $ws9 "9"
|
||||||
|
set $ws10 "10"
|
||||||
|
|
||||||
|
# switch to workspace
|
||||||
|
bindsym $mod+1 workspace number $ws1
|
||||||
|
bindsym $mod+2 workspace number $ws2
|
||||||
|
bindsym $mod+3 workspace number $ws3
|
||||||
|
bindsym $mod+4 workspace number $ws4
|
||||||
|
bindsym $mod+5 workspace number $ws5
|
||||||
|
bindsym $mod+6 workspace number $ws6
|
||||||
|
bindsym $mod+7 workspace number $ws7
|
||||||
|
bindsym $mod+8 workspace number $ws8
|
||||||
|
bindsym $mod+9 workspace number $ws9
|
||||||
|
bindsym $mod+0 workspace number $ws10
|
||||||
|
|
||||||
|
# move focused container to workspace
|
||||||
|
bindsym $mod+Shift+1 move container to workspace number $ws1
|
||||||
|
bindsym $mod+Shift+2 move container to workspace number $ws2
|
||||||
|
bindsym $mod+Shift+3 move container to workspace number $ws3
|
||||||
|
bindsym $mod+Shift+4 move container to workspace number $ws4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace number $ws5
|
||||||
|
bindsym $mod+Shift+6 move container to workspace number $ws6
|
||||||
|
bindsym $mod+Shift+7 move container to workspace number $ws7
|
||||||
|
bindsym $mod+Shift+8 move container to workspace number $ws8
|
||||||
|
bindsym $mod+Shift+9 move container to workspace number $ws9
|
||||||
|
bindsym $mod+Shift+0 move container to workspace number $ws10
|
||||||
|
|
||||||
|
# reload the configuration file
|
||||||
|
bindsym $mod+Shift+c reload
|
||||||
|
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||||
|
bindsym $mod+Shift+r restart
|
||||||
|
# exit i3 (logs you out of your X session)
|
||||||
|
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'xfce-session-logout'"
|
||||||
|
|
||||||
|
# resize window (you can also use the mouse for that)
|
||||||
|
mode "resize" {
|
||||||
|
# These bindings trigger as soon as you enter the resize mode
|
||||||
|
|
||||||
|
# Pressing left will shrink the window’s width.
|
||||||
|
# Pressing right will grow the window’s width.
|
||||||
|
# Pressing up will shrink the window’s height.
|
||||||
|
# Pressing down will grow the window’s height.
|
||||||
|
bindsym l resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym k resize grow height 10 px or 10 ppt
|
||||||
|
bindsym j resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym h resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# same bindings, but for the arrow keys
|
||||||
|
bindsym Left resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym Down resize grow height 10 px or 10 ppt
|
||||||
|
bindsym Up resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym Right resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# back to normal: Enter or Escape or $mod+r
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
bindsym $mod+r mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
|
# Start i3bar to display a workspace bar (plus the system information i3status
|
||||||
|
# finds out, if available)
|
||||||
|
bar {
|
||||||
|
status_command i3status
|
||||||
|
}
|
6
hosts/vali/mars/i3/default.nix
Normal file
6
hosts/vali/mars/i3/default.nix
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
_: {
|
||||||
|
imports = [
|
||||||
|
./i3.nix
|
||||||
|
# ./i3-new.nix
|
||||||
|
];
|
||||||
|
}
|
68
hosts/vali/mars/i3/i3-new.nix
Normal file
68
hosts/vali/mars/i3/i3-new.nix
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
{pkgs, lib, config, ... }:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.modules.programs.i3;
|
||||||
|
username = config.modules.other.system.username;
|
||||||
|
mod = "Mod4";
|
||||||
|
in {
|
||||||
|
options.modules.programs.i3.enable = mkEnableOption "i3";
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
services.xserver = {
|
||||||
|
enable = true;
|
||||||
|
xkb.layout = "de";
|
||||||
|
};
|
||||||
|
xsession.windowManager.i3 = {
|
||||||
|
enable = true;
|
||||||
|
config = {
|
||||||
|
modifier = mod;
|
||||||
|
terminal = "alacritty";
|
||||||
|
fonts ={
|
||||||
|
names = [ "JetBrains Mono" "pango:monospace"];
|
||||||
|
size = 12;
|
||||||
|
style = "Bold Semi-Condensed";
|
||||||
|
};
|
||||||
|
keybindings = lib.mkOptionDefault {
|
||||||
|
# Run stuff
|
||||||
|
"${mod}+d" = "exec --no-startup-id ${pkgs.dmenu}/bin/dmenu_run";
|
||||||
|
"${mod}+Return" = "exec --no-startup-id alacritty";
|
||||||
|
"${mod}+Shift+q" = "kill";
|
||||||
|
# Focus
|
||||||
|
"${mod}+h" = "focus left";
|
||||||
|
"${mod}+j" = "focus down";
|
||||||
|
"${mod}+k" = "focus up";
|
||||||
|
"${mod}+l" = "focus right";
|
||||||
|
# Move
|
||||||
|
"${mod}+Shift+h" = "move left";
|
||||||
|
"${mod}+Shift+j" = "move down";
|
||||||
|
"${mod}+Shift+k" = "move up";
|
||||||
|
"${mod}+Shift+l" = "move right";
|
||||||
|
"XF86RaiseVolume" = "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ && $refresh_i3status";
|
||||||
|
# Toggle stuff
|
||||||
|
"${mod}+f" = "fullscreen toggle";
|
||||||
|
};
|
||||||
|
window = {
|
||||||
|
titlebar = false;
|
||||||
|
border = 3;
|
||||||
|
hideEdgeBorders = true;
|
||||||
|
};
|
||||||
|
floating = {
|
||||||
|
titlebar = false;
|
||||||
|
};
|
||||||
|
bars = [
|
||||||
|
{
|
||||||
|
position = "bottom";
|
||||||
|
statusCommand = "${pkgs.i3status}/bin/i3status";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
startup ={
|
||||||
|
command =
|
||||||
|
"xrandr --output HDMI-1 --rotate normal --output DP-2 --rotate normal --left-of HDMI-1 --output HDMI-0 --right-of HDMI-1";
|
||||||
|
#"dex --autostart --environment i3";
|
||||||
|
#"nm-applet";
|
||||||
|
#"keepassxc";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
{ pkgs, lib, config, callPackage, ... }:
|
{ pkgs, lib, config, callPackage, ... }:
|
||||||
with lib; let
|
with lib; let
|
||||||
|
username = config.modules.other.system.username;
|
||||||
cfg = config.modules.programs.i3;
|
cfg = config.modules.programs.i3;
|
||||||
in {
|
in {
|
||||||
options.modules.programs.i3.enable = mkEnableOption "i3";
|
options.modules.programs.i3.enable = mkEnableOption "i3";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
home-manager.users.${username}.xdg.configFile."i3/config".source = ./config;
|
||||||
services.xserver = {
|
services.xserver = {
|
||||||
enable = true;
|
enable = true;
|
||||||
xkb.layout = "de";
|
xkb.layout = "de";
|
||||||
|
@ -14,13 +16,6 @@ in {
|
||||||
displayManager = {
|
displayManager = {
|
||||||
gdm.enable = true;
|
gdm.enable = true;
|
||||||
defaultSession = "none+i3";
|
defaultSession = "none+i3";
|
||||||
setupCommands = ''
|
|
||||||
LEFT='DP-2'
|
|
||||||
CENTER='HDMI-1'
|
|
||||||
RIGHT='HDMI-0'
|
|
||||||
${pkgs.xorg.xrandr}/bin/xrandr --output $CENTER --rotate left --output $LEFT --rotate left --left-of $CENTER --output $RIGHT --right-of $CENTER
|
|
||||||
'';
|
|
||||||
# ❯ xrandr --output HDMI-1 --rotate normal --output DP-2 --rotate normal --left-of HDMI-1 --output HDMI-0 --right-of HDMI-1
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
0
hosts/vali/mars/i3/polybar.sh
Normal file
0
hosts/vali/mars/i3/polybar.sh
Normal file
|
@ -5,8 +5,8 @@ _: {
|
||||||
../../../options/common/networking.nix
|
../../../options/common/networking.nix
|
||||||
../../../options/common/gpu/nvidia.nix
|
../../../options/common/gpu/nvidia.nix
|
||||||
# ../../../overlay.nix
|
# ../../../overlay.nix
|
||||||
# ../../options/common/pin-registry.nix
|
../../../options/common/pin-registry.nix
|
||||||
# ../../options/common/preserve-system.nix
|
../../../options/common/preserve-system.nix
|
||||||
#../../options/
|
#../../options/
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,23 +1,18 @@
|
||||||
{ config, inputs, pkgs, ... }:
|
{ config, inputs, pkgs, ... }:
|
||||||
let
|
let
|
||||||
|
fenix = inputs.fenix.packages.${pkgs.system};
|
||||||
username = config.modules.other.system.username;
|
username = config.modules.other.system.username;
|
||||||
in {
|
in {
|
||||||
home-manager.users.${username} = {
|
environment.systemPackages = with pkgs; [
|
||||||
home.packages = let
|
|
||||||
fenix = inputs.fenix.packages.${pkgs.system};
|
|
||||||
|
|
||||||
in with pkgs; [
|
|
||||||
alacritty
|
alacritty
|
||||||
alsa-utils
|
alsa-utils
|
||||||
asciinema
|
asciinema
|
||||||
betterbird
|
# betterbird
|
||||||
bibata-cursors
|
bibata-cursors
|
||||||
chromium
|
|
||||||
dig
|
dig
|
||||||
easyeffects
|
easyeffects
|
||||||
element-desktop
|
element-desktop
|
||||||
eza
|
eza
|
||||||
ripgrep
|
|
||||||
fastfetch
|
fastfetch
|
||||||
(fenix.complete.withComponents [
|
(fenix.complete.withComponents [
|
||||||
"cargo"
|
"cargo"
|
||||||
|
@ -27,6 +22,7 @@ in {
|
||||||
"rustfmt"
|
"rustfmt"
|
||||||
])
|
])
|
||||||
ffmpeg_6-full
|
ffmpeg_6-full
|
||||||
|
flameshot
|
||||||
foot
|
foot
|
||||||
gcc
|
gcc
|
||||||
gdb
|
gdb
|
||||||
|
@ -38,6 +34,8 @@ in {
|
||||||
krita
|
krita
|
||||||
lazygit
|
lazygit
|
||||||
libreoffice-fresh
|
libreoffice-fresh
|
||||||
|
moc
|
||||||
|
ncmpcpp
|
||||||
neofetch
|
neofetch
|
||||||
neovim
|
neovim
|
||||||
networkmanagerapplet
|
networkmanagerapplet
|
||||||
|
@ -46,17 +44,21 @@ in {
|
||||||
pavucontrol
|
pavucontrol
|
||||||
pcmanfm
|
pcmanfm
|
||||||
pfetch
|
pfetch
|
||||||
|
playerctl
|
||||||
polkit
|
polkit
|
||||||
python3
|
python3
|
||||||
qbittorrent
|
qbittorrent
|
||||||
|
ripgrep
|
||||||
rustdesk
|
rustdesk
|
||||||
|
rofi
|
||||||
scc
|
scc
|
||||||
sherlock
|
sherlock
|
||||||
signal-desktop-beta
|
signal-desktop-beta
|
||||||
smartmontools
|
smartmontools
|
||||||
|
spotube
|
||||||
st
|
st
|
||||||
steam
|
steam
|
||||||
strawberry-qt6
|
strawberry
|
||||||
telegram-desktop
|
telegram-desktop
|
||||||
texliveFull
|
texliveFull
|
||||||
thunderbird
|
thunderbird
|
||||||
|
@ -72,5 +74,4 @@ in {
|
||||||
zathura
|
zathura
|
||||||
zip
|
zip
|
||||||
];
|
];
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
78
hosts/vali/mars/temp
Normal file
78
hosts/vali/mars/temp
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
{ config, inputs, pkgs, ... }:
|
||||||
|
let
|
||||||
|
username = config.myOptions.other.system.username;
|
||||||
|
in {
|
||||||
|
home-manager.users.${username} = {
|
||||||
|
home.packages = let
|
||||||
|
fenix = inputs.fenix.packages.${pkgs.system};
|
||||||
|
|
||||||
|
in with pkgs; [
|
||||||
|
alacritty
|
||||||
|
alsa-utils
|
||||||
|
asciinema
|
||||||
|
betterbird
|
||||||
|
bibata-cursors
|
||||||
|
dig
|
||||||
|
easyeffects
|
||||||
|
element-desktop
|
||||||
|
eza
|
||||||
|
fastfetch
|
||||||
|
(fenix.complete.withComponents [
|
||||||
|
"cargo"
|
||||||
|
"clippy"
|
||||||
|
"rust-src"
|
||||||
|
"rustc"
|
||||||
|
"rustfmt"
|
||||||
|
])
|
||||||
|
ffmpeg_6-full
|
||||||
|
flameshot
|
||||||
|
foot
|
||||||
|
gcc
|
||||||
|
gdb
|
||||||
|
grimblast
|
||||||
|
git
|
||||||
|
httpie
|
||||||
|
imagemagick
|
||||||
|
keepassxc
|
||||||
|
krita
|
||||||
|
lazygit
|
||||||
|
libreoffice-fresh
|
||||||
|
neofetch
|
||||||
|
neovim
|
||||||
|
networkmanagerapplet
|
||||||
|
nextcloud-client
|
||||||
|
pamixer
|
||||||
|
pavucontrol
|
||||||
|
pcmanfm
|
||||||
|
pfetch
|
||||||
|
playerctl
|
||||||
|
polkit
|
||||||
|
python3
|
||||||
|
qbittorrent
|
||||||
|
ripgrep
|
||||||
|
rustdesk
|
||||||
|
rofi
|
||||||
|
scc
|
||||||
|
sherlock
|
||||||
|
signal-desktop-beta
|
||||||
|
smartmontools
|
||||||
|
st
|
||||||
|
steam
|
||||||
|
strawberry.strawberry-wrapped
|
||||||
|
telegram-desktop
|
||||||
|
texliveFull
|
||||||
|
thunderbird
|
||||||
|
tor-browser-bundle-bin
|
||||||
|
trash-cli
|
||||||
|
tree
|
||||||
|
unzip
|
||||||
|
ventoy-full
|
||||||
|
vesktop
|
||||||
|
vlc
|
||||||
|
xclip
|
||||||
|
yt-dlp
|
||||||
|
zathura
|
||||||
|
zip
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -3,5 +3,6 @@ _: {
|
||||||
./git.nix
|
./git.nix
|
||||||
./starship.nix
|
./starship.nix
|
||||||
./zsh.nix
|
./zsh.nix
|
||||||
|
./neovim.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
35
modules/cli/neovim.nix
Normal file
35
modules/cli/neovim.nix
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
lazyvim-config = pkgs.fetchFromGitHub {
|
||||||
|
owner = "Dragyx";
|
||||||
|
repo = "lazyvim-config";
|
||||||
|
rev = "d799724f48199d81ca6c8abb5951860fbf8fa0df";
|
||||||
|
hash = "sha256-NF92CweRFQ1qZS8NXoTUEljazRGXgXS2AuDt5IWmwBc=";
|
||||||
|
};
|
||||||
|
cfg = config.modules.programs.neovim-old;
|
||||||
|
username = config.modules.other.system.username;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.modules.programs.neovim-old.enable = lib.mkEnableOption "neovim-old";
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
home-manager.users.${username} = {
|
||||||
|
home.packages = with pkgs; [ lazygit ripgrep fd gcc xclip rust-analyzer ];
|
||||||
|
programs.neovim = {
|
||||||
|
enable = true;
|
||||||
|
viAlias = true;
|
||||||
|
vimAlias = true;
|
||||||
|
defaultEditor = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.configFile."nvim" = {
|
||||||
|
enable = true;
|
||||||
|
source = lazyvim-config;
|
||||||
|
recursive = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
|
@ -15,12 +15,9 @@ in
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
programs.xwayland.enable = true;
|
programs.xwayland.enable = true;
|
||||||
/*
|
|
||||||
programs.hyprland = {
|
programs.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
xwayland = true;
|
|
||||||
};
|
};
|
||||||
*/
|
|
||||||
services.gnome.gnome-keyring.enable = mkDefault cfg.gnome-keyring;
|
services.gnome.gnome-keyring.enable = mkDefault cfg.gnome-keyring;
|
||||||
systemd.user.services.polkit-gnome-authentication-agent-1 = mkIf cfg.gnome-keyring {
|
systemd.user.services.polkit-gnome-authentication-agent-1 = mkIf cfg.gnome-keyring {
|
||||||
description = "polkit-gnome-authentication-agent-1";
|
description = "polkit-gnome-authentication-agent-1";
|
||||||
|
@ -48,15 +45,8 @@ in
|
||||||
|
|
||||||
dunst
|
dunst
|
||||||
# wireplumber
|
# wireplumber
|
||||||
unstable.xwayland
|
xwayland
|
||||||
pciutils # lspci is needed by hyprland
|
pciutils # lspci is needed by hyprland
|
||||||
# from some obscure tutorial on youtube
|
|
||||||
# xorg.libxcb
|
|
||||||
# mesa
|
|
||||||
libglvnd
|
|
||||||
egl-wayland
|
|
||||||
libdrm
|
|
||||||
vulkan-tools
|
|
||||||
dunst
|
dunst
|
||||||
swww
|
swww
|
||||||
flameshot
|
flameshot
|
||||||
|
@ -66,15 +56,20 @@ in
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
systemd.enable = true;
|
||||||
|
xwayland.enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
exec-once = mkIf cfg.gnome-keyring "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
|
exec-once = [
|
||||||
|
"waybar"
|
||||||
|
] ++ (if cfg.gnome-keyring then ["${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"]
|
||||||
|
else []);
|
||||||
monitor = map (
|
monitor = map (
|
||||||
m: "${m.device},${m.resolution.x}x${m.resolution.y}@${m.refresh_rate},${m.position.x}x${m.position.y},${m.scale},transform,${m.transform}"
|
m: "${m.device},${builtins.toString m.resolution.x}x${builtins.toString m.resolution.y}@${builtins.toString m.refresh_rate},${builtins.toString m.position.x}x${builtins.toString m.position.y},${builtins.toString m.scale},transform,${builtins.toString m.transform}"
|
||||||
) monitors; #TODO: default value
|
) monitors; #TODO: default value
|
||||||
input = {
|
input = {
|
||||||
kb_layout = console.keyMap;
|
kb_layout = "us";
|
||||||
natural_scroll = true;
|
natural_scroll = true;
|
||||||
sensitivity = 0;
|
sensitivity = 0;
|
||||||
};
|
};
|
||||||
|
@ -82,9 +77,9 @@ in
|
||||||
gaps_in = 2;
|
gaps_in = 2;
|
||||||
gaps_out = 1;
|
gaps_out = 1;
|
||||||
border_size = 1;
|
border_size = 1;
|
||||||
col.active_border = "rgba(33ccffee) rgba(00ff99ee) 45deg";
|
"col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg";
|
||||||
col.inactive_border = "rgba(595959aa)";
|
"col.inactive_border" = "rgba(595959aa)";
|
||||||
layout = dwindle;
|
layout = "dwindle";
|
||||||
};
|
};
|
||||||
decoration.rounding = 5;
|
decoration.rounding = 5;
|
||||||
misc.disable_hyprland_logo = true;
|
misc.disable_hyprland_logo = true;
|
||||||
|
@ -106,8 +101,6 @@ in
|
||||||
gestures.workspace_swipe = true;
|
gestures.workspace_swipe = true;
|
||||||
debug.enable_stdout_logs = true;
|
debug.enable_stdout_logs = true;
|
||||||
bind = [
|
bind = [
|
||||||
|
|
||||||
|
|
||||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||||
"SUPER, RETURN, exec, alacritty"
|
"SUPER, RETURN, exec, alacritty"
|
||||||
"SUPER SHIFT, RETURN, exec, rofi -show drun"
|
"SUPER SHIFT, RETURN, exec, rofi -show drun"
|
||||||
|
@ -122,14 +115,6 @@ in
|
||||||
"SUPER, C, exec, /home/vali/.config/wallpaper/colorscheme-setter"
|
"SUPER, C, exec, /home/vali/.config/wallpaper/colorscheme-setter"
|
||||||
",PRINT, exec, flameshot"
|
",PRINT, exec, flameshot"
|
||||||
|
|
||||||
"binde = ,XF86MonBrightnessUp, exec, brightnessctl set 10%+"
|
|
||||||
"binde = ,XF86MonBrightnessDown, exec, brightnessctl set 10%-"
|
|
||||||
|
|
||||||
# Example volume button that allows press and hold, volume limited to 150%"
|
|
||||||
"binde = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+"
|
|
||||||
# Example volume button that will activate even while an input inhibitor is active"
|
|
||||||
"binde = ,XF86AudioLowerVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%-"
|
|
||||||
",XF86AudioMute, exec, $ wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
|
||||||
|
|
||||||
# Move focus with mainMod + arrow keys"
|
# Move focus with mainMod + arrow keys"
|
||||||
"SUPER, h, movefocus, l"
|
"SUPER, h, movefocus, l"
|
||||||
|
@ -173,10 +158,19 @@ in
|
||||||
# Scroll through existing workspaces with mainMod + scroll"
|
# Scroll through existing workspaces with mainMod + scroll"
|
||||||
"SUPER, mouse_down, workspace, e+1"
|
"SUPER, mouse_down, workspace, e+1"
|
||||||
"SUPER, mouse_up, workspace, e-1"
|
"SUPER, mouse_up, workspace, e-1"
|
||||||
"
|
|
||||||
# Move/resize windows with mainMod + LMB/RMB and dragging"
|
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||||
#bindm = SUPER, mouse:272, movewindow"
|
"SUPER, mouse:272, movewindow"
|
||||||
#bindm = SUPER, mouse:273, resizewindow"
|
# "bindm = SUPER, mouse:273, resizewindow"
|
||||||
|
];
|
||||||
|
binde = [
|
||||||
|
",XF86MonBrightnessUp, exec, brightnessctl set 10%+"
|
||||||
|
",XF86MonBrightnessDown, exec, brightnessctl set 10%-"
|
||||||
|
# Example volume button that allows press and hold, volume limited to 150%"
|
||||||
|
",XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+"
|
||||||
|
# Example volume button that will activate even while an input inhibitor is active"
|
||||||
|
",XF86AudioLowerVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%-"
|
||||||
|
",XF86AudioMute, exec, $ wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -58,8 +58,8 @@ in {
|
||||||
sessionVariables = {
|
sessionVariables = {
|
||||||
#QT_STYLE_OVERRIDE = "kvantum";
|
#QT_STYLE_OVERRIDE = "kvantum";
|
||||||
QT_AUTO_SCREEN_SCALE_FACTOR = "1";
|
QT_AUTO_SCREEN_SCALE_FACTOR = "1";
|
||||||
QT_QPA_PLATFORM = "wayland;xcb";
|
# QT_QPA_PLATFORM = "wayland;xcb";
|
||||||
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
|
# QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
|
||||||
DISABLE_QT_COMPAT = "0";
|
DISABLE_QT_COMPAT = "0";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
0
modules/gui/rofi.nix
Normal file
0
modules/gui/rofi.nix
Normal file
|
@ -10,49 +10,38 @@ in {
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home-manager.users.${username} = {
|
home-manager.users.${username} = {
|
||||||
imports = [ inputs.schizofox.homeManagerModule ];
|
imports = [ inputs.schizofox.homeManagerModule ];
|
||||||
|
|
||||||
programs.schizofox = {
|
programs.schizofox = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
theme = {
|
theme = {
|
||||||
colors.background-darker = "181825";
|
colors = {
|
||||||
colors.background = "1e1e2e";
|
background-darker = "181825";
|
||||||
colors.foreground = "cdd6f4";
|
background = "1e1e2e";
|
||||||
|
foreground = "cdd6f4";
|
||||||
|
};
|
||||||
|
|
||||||
font = "Lexend";
|
font = "Lexend";
|
||||||
|
|
||||||
extraUserChrome = ''
|
extraUserChrome = ''
|
||||||
body {
|
body {
|
||||||
color: red !important;
|
color: red !important;
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
extensions = {
|
|
||||||
simplefox.enable = false;
|
|
||||||
darkreader.enable = true;
|
|
||||||
};
|
|
||||||
search = {
|
search = {
|
||||||
defaultSearchEngine = "Brave";
|
defaultSearchEngine = "Brave";
|
||||||
removeEngines = ["Google" "Bing" "Amazon.com" "eBay" "Twitter" "Wikipedia"];
|
removeEngines = ["Google" "Bing" "Amazon.com" "eBay" "Twitter" "Wikipedia"];
|
||||||
|
searxUrl = "https://searx.be";
|
||||||
|
searxQuery = "https://searx.be/search?q={searchTerms}&categories=general";
|
||||||
addEngines = [
|
addEngines = [
|
||||||
{
|
{
|
||||||
Name = "NixOS Packages";
|
Name = "NixOS Packages";
|
||||||
Description = "NixOS Unstable package search";
|
Description = "NixOS Unstable package serach";
|
||||||
Alias = "!np";
|
Alias = "!np";
|
||||||
Method = "GET";
|
Method = "GET";
|
||||||
URLTemplate = "https://search.nixos.org/packages?channel=unstable&query={searchTerms}";
|
URLTemplate = "https://search.nixos.org/packages?channel=unstable&query={searchTerms}";
|
||||||
}
|
}
|
||||||
{
|
|
||||||
Name = "NixOS Options";
|
|
||||||
Description = "NixOS Unstable option search";
|
|
||||||
Alias = "!no";
|
|
||||||
Method = "GET";
|
|
||||||
URLTemplate = "https://search.nixos.org/options?channel=unstable&query={searchTerms}";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
Name = "NixOS Wiki";
|
|
||||||
Description = "NixOS Wiki search";
|
|
||||||
Alias = "!nw";
|
|
||||||
Method = "GET";
|
|
||||||
URLTemplate = "https://nixos.wiki/index.php?search={searchTerms}";
|
|
||||||
}
|
|
||||||
{
|
{
|
||||||
Name = "Home Manager Options";
|
Name = "Home Manager Options";
|
||||||
Description = "Home Manager option search";
|
Description = "Home Manager option search";
|
||||||
|
@ -60,40 +49,39 @@ in {
|
||||||
Method = "GET";
|
Method = "GET";
|
||||||
URLTemplate = "https://mipmip.github.io/home-manager-option-search?query={searchTerms}";
|
URLTemplate = "https://mipmip.github.io/home-manager-option-search?query={searchTerms}";
|
||||||
}
|
}
|
||||||
{
|
|
||||||
Name = "Arch Wiki";
|
|
||||||
Description = "Arch Wiki search";
|
|
||||||
Alias = "!aw";
|
|
||||||
Method = "GET";
|
|
||||||
URLTemplate = "https://wiki.archlinux.org/index.php?search={searchTerms}";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
Name = "Gentoo Wiki";
|
|
||||||
Description = "Gentoo Wiki search";
|
|
||||||
Alias = "!gw";
|
|
||||||
Method = "GET";
|
|
||||||
URLTemplate = "https://wiki.gentoo.org/index.php?search={searchTerms}";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
Name = "Debian Wiki";
|
|
||||||
Description = "Debian Wiki search";
|
|
||||||
Alias = "!dw";
|
|
||||||
Method = "GET";
|
|
||||||
URLTemplate = "https://wiki.debian.org/FrontPage?action=fullsearch&value={searchTerms}";
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
security = {
|
security = {
|
||||||
sanitizeOnShutdown = true;
|
sanitizeOnShutdown = false;
|
||||||
sandbox = true;
|
sandbox = true;
|
||||||
userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0";
|
userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0";
|
||||||
};
|
};
|
||||||
|
|
||||||
misc = {
|
misc = {
|
||||||
drmFix = false;
|
drmFix = true;
|
||||||
disableWebgl = true;
|
disableWebgl = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
extensions = {
|
||||||
|
simplefox.enable = true;
|
||||||
|
darkreader.enable = true;
|
||||||
|
|
||||||
|
extraExtensions = {
|
||||||
|
"webextension@metamask.io".install_url = "https://addons.mozilla.org/firefox/downloads/latest/ether-metamask/latest.xpi";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
bookmarks = [
|
||||||
|
{
|
||||||
|
Title = "Example";
|
||||||
|
URL = "https://example.com";
|
||||||
|
Favicon = "https://example.com/favicon.ico";
|
||||||
|
Placement = "toolbar";
|
||||||
|
Folder = "FolderName";
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -13,6 +13,7 @@ in {
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home-manager.users.${username} = {
|
home-manager.users.${username} = {
|
||||||
|
home.packages = with pkgs; [ vesktop ];
|
||||||
xdg.configFile."vesktop/settings.json".text = builtins.toJSON {
|
xdg.configFile."vesktop/settings.json".text = builtins.toJSON {
|
||||||
discordBranch = "ptb";
|
discordBranch = "ptb";
|
||||||
firstLaunch = false;
|
firstLaunch = false;
|
||||||
|
|
|
@ -5,9 +5,8 @@
|
||||||
username = config.modules.other.system.username;
|
username = config.modules.other.system.username;
|
||||||
hmCfg = config.home-manager.users.${username};
|
hmCfg = config.home-manager.users.${username};
|
||||||
|
|
||||||
primary_browser = "firefox-schizo.desktop";
|
primary_browser = "schizofox.desktop";
|
||||||
secondary_browser = "firefox-unschizo.desktop";
|
mail_client = "thunderbird.desktop";
|
||||||
mail_client = "betterbird.desktop";
|
|
||||||
file_manager = "pcmanfm.desktop";
|
file_manager = "pcmanfm.desktop";
|
||||||
media_player = "mpv.desktop";
|
media_player = "mpv.desktop";
|
||||||
image_viewer = "imv.desktop";
|
image_viewer = "imv.desktop";
|
||||||
|
@ -73,11 +72,11 @@ in {
|
||||||
mimeApps = {
|
mimeApps = {
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultApplications = {
|
defaultApplications = {
|
||||||
"text/html" = [ primary_browser secondary_browser ];
|
"text/html" = [ primary_browser ];
|
||||||
"x-scheme-handler/http" = [ primary_browser secondary_browser ];
|
"x-scheme-handler/http" = [ primary_browser ];
|
||||||
"x-scheme-handler/https" = [ primary_browser secondary_browser ];
|
"x-scheme-handler/https" = [ primary_browser ];
|
||||||
"x-scheme-handler/about" = [ primary_browser secondary_browser ];
|
"x-scheme-handler/about" = [ primary_browser ];
|
||||||
"x-scheme-handler/unknown" = [ primary_browser secondary_browser ];
|
"x-scheme-handler/unknown" = [ primary_browser ];
|
||||||
"x-scheme-handler/mailto" = [ mail_client ];
|
"x-scheme-handler/mailto" = [ mail_client ];
|
||||||
"message/rfc822" = [ mail_client ];
|
"message/rfc822" = [ mail_client ];
|
||||||
"x-scheme-handler/mid" = [ mail_client ];
|
"x-scheme-handler/mid" = [ mail_client ];
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.myOptions.programs.ssh;
|
cfg = config.modules.programs.ssh;
|
||||||
username = config.myOptions.other.system.username;
|
username = config.modules.other.system.username;
|
||||||
in {
|
in {
|
||||||
options.myOptions.programs.ssh.enable = mkEnableOption "ssh";
|
options.modules.programs.ssh.enable = mkEnableOption "ssh";
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
programs.ssh = {
|
programs.ssh = {
|
||||||
|
|
598
modules/tui/config
Normal file
598
modules/tui/config
Normal file
|
@ -0,0 +1,598 @@
|
||||||
|
##############################################################
|
||||||
|
## This is an example configuration file. Copy it to ##
|
||||||
|
## $XDG_CONFIG_HOME/ncmpcpp/config or $HOME/.ncmpcpp/config ##
|
||||||
|
## and set up your preferences. ##
|
||||||
|
##############################################################
|
||||||
|
#
|
||||||
|
##### directories ######
|
||||||
|
##
|
||||||
|
## Directory for storing ncmpcpp related files. Changing it is useful if you
|
||||||
|
## want to store everything somewhere else and provide command line setting for
|
||||||
|
## alternative location to config file which defines that while launching
|
||||||
|
## ncmpcpp.
|
||||||
|
##
|
||||||
|
#
|
||||||
|
ncmpcpp_directory = ~/.config/ncmpcpp
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Directory for storing downloaded lyrics. It defaults to ~/.lyrics since other
|
||||||
|
## MPD clients (eg. ncmpc) also use that location.
|
||||||
|
##
|
||||||
|
#
|
||||||
|
#lyrics_directory = ~/.lyrics
|
||||||
|
#
|
||||||
|
##### connection settings #####
|
||||||
|
#
|
||||||
|
#mpd_host = localhost
|
||||||
|
#
|
||||||
|
mpd_port = 6600
|
||||||
|
#
|
||||||
|
mpd_connection_timeout = 5
|
||||||
|
#
|
||||||
|
## Needed for tag editor and file operations to work.
|
||||||
|
##
|
||||||
|
mpd_music_dir = ~/Nextcloud/Media/Music
|
||||||
|
#
|
||||||
|
#mpd_crossfade_time = 5
|
||||||
|
#
|
||||||
|
# Exclude pattern for random song action
|
||||||
|
# http://www.boost.org/doc/libs/1_46_1/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html
|
||||||
|
#random_exclude_pattern = "^(temp|midi_songs).*"
|
||||||
|
#
|
||||||
|
##### music visualizer #####
|
||||||
|
##
|
||||||
|
## In order to make music visualizer work with MPD you need to use the fifo
|
||||||
|
## output. Its format parameter has to be set to 44100:16:1 for mono
|
||||||
|
## visualization or 44100:16:2 for stereo visualization. As an example here is
|
||||||
|
## the relevant section for mpd.conf:
|
||||||
|
##
|
||||||
|
## audio_output {
|
||||||
|
## type "fifo"
|
||||||
|
## name "Visualizer feed"
|
||||||
|
## path "/tmp/mpd.fifo"
|
||||||
|
## format "44100:16:2"
|
||||||
|
## }
|
||||||
|
##
|
||||||
|
## If the visualization on occasion diverges from the audio output, please set
|
||||||
|
## 'buffer_time' parameter of your audio output in mpd.conf to '100000' (100ms)
|
||||||
|
## or less to prevent that from happening.
|
||||||
|
##
|
||||||
|
## Note: If you're using Mopidy, an address of a udpsink gstreamer's output is
|
||||||
|
## also accepted. For example, the following section in mopidy.conf:
|
||||||
|
##
|
||||||
|
## [audio]
|
||||||
|
## output = tee name=t ! queue ! autoaudiosink t.
|
||||||
|
## ! queue ! audio/x-raw,rate=44100,channels=2,format=S16LE
|
||||||
|
## ! udpsink host=localhost port=5555
|
||||||
|
##
|
||||||
|
## will make localhost:5555 available as a source of data for the stereo
|
||||||
|
## visualizer.
|
||||||
|
##
|
||||||
|
#
|
||||||
|
visualizer_data_source = /tmp/mpd.fifo
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: Below parameter is needed for ncmpcpp to determine which output
|
||||||
|
## provides data for visualizer and reset it at the beginning of visualization
|
||||||
|
## to synchronize with audio.
|
||||||
|
##
|
||||||
|
#
|
||||||
|
visualizer_output_name = Visualizer feed
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## If you set format to 44100:16:2, make it 'yes'.
|
||||||
|
##
|
||||||
|
visualizer_in_stereo = yes
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: set below to >=10 only if you have synchronization issues with
|
||||||
|
## visualization and audio.
|
||||||
|
##
|
||||||
|
#
|
||||||
|
visualizer_sync_interval = 0
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: To enable spectrum frequency visualization you need to compile ncmpcpp
|
||||||
|
## with fftw3 support.
|
||||||
|
##
|
||||||
|
#
|
||||||
|
## Available values: spectrum, wave, wave_filled, ellipse.
|
||||||
|
##
|
||||||
|
visualizer_type = wave_filled
|
||||||
|
#
|
||||||
|
visualizer_fps = 60
|
||||||
|
#
|
||||||
|
visualizer_autoscale = no
|
||||||
|
#
|
||||||
|
visualizer_look = ●▮
|
||||||
|
#
|
||||||
|
visualizer_color = blue, cyan, green, yellow, magenta, red
|
||||||
|
#
|
||||||
|
## Alternative subset of 256 colors for terminals that support it.
|
||||||
|
##
|
||||||
|
#visualizer_color = 47, 83, 119, 155, 191, 227, 221, 215, 209, 203, 197, 161
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: The next few visualization options apply to the spectrum visualizer.
|
||||||
|
##
|
||||||
|
#
|
||||||
|
## Use unicode block characters for a smoother, more continuous look.
|
||||||
|
## This will override the visualizer_look option. With transparent terminals
|
||||||
|
## and visualizer_in_stereo set, artifacts may be visible on the bottom half of
|
||||||
|
## the visualization.
|
||||||
|
#
|
||||||
|
visualizer_spectrum_smooth_look = yes
|
||||||
|
#
|
||||||
|
## A value between 1 and 5 inclusive. Specifying a larger value makes the
|
||||||
|
## visualizer look at a larger slice of time, which results in less jumpy
|
||||||
|
## visualizer output.
|
||||||
|
#
|
||||||
|
#visualizer_spectrum_dft_size = 2
|
||||||
|
#
|
||||||
|
#visualizer_spectrum_gain = 10
|
||||||
|
#
|
||||||
|
## Left-most frequency of visualizer in Hz, must be less than HZ MAX
|
||||||
|
#
|
||||||
|
#visualizer_spectrum_hz_min = 20
|
||||||
|
#
|
||||||
|
## Right-most frequency of visualizer in Hz, must be greater than HZ MIN
|
||||||
|
#
|
||||||
|
#visualizer_spectrum_hz_max = 20000
|
||||||
|
#
|
||||||
|
##### system encoding #####
|
||||||
|
##
|
||||||
|
## ncmpcpp should detect your charset encoding but if it failed to do so, you
|
||||||
|
## can specify charset encoding you are using here.
|
||||||
|
##
|
||||||
|
## Note: You can see whether your ncmpcpp build supports charset detection by
|
||||||
|
## checking output of `ncmpcpp --version`.
|
||||||
|
##
|
||||||
|
## Note: Since MPD uses UTF-8 by default, setting this option makes sense only
|
||||||
|
## if your encoding is different.
|
||||||
|
##
|
||||||
|
#
|
||||||
|
#system_encoding = ""
|
||||||
|
#
|
||||||
|
##### delays #####
|
||||||
|
#
|
||||||
|
## Time of inactivity (in seconds) after playlist highlighting will be disabled
|
||||||
|
## (0 = always on).
|
||||||
|
##
|
||||||
|
#playlist_disable_highlight_delay = 5
|
||||||
|
#
|
||||||
|
## Defines how long messages are supposed to be visible.
|
||||||
|
##
|
||||||
|
#message_delay_time = 5
|
||||||
|
#
|
||||||
|
##### song format #####
|
||||||
|
##
|
||||||
|
## For a song format you can use:
|
||||||
|
##
|
||||||
|
## %l - length
|
||||||
|
## %f - filename
|
||||||
|
## %D - directory
|
||||||
|
## %a - artist
|
||||||
|
## %A - album artist
|
||||||
|
## %t - title
|
||||||
|
## %b - album
|
||||||
|
## %y - date
|
||||||
|
## %n - track number (01/12 -> 01)
|
||||||
|
## %N - full track info (01/12 -> 01/12)
|
||||||
|
## %g - genre
|
||||||
|
## %c - composer
|
||||||
|
## %p - performer
|
||||||
|
## %d - disc
|
||||||
|
## %C - comment
|
||||||
|
## %P - priority
|
||||||
|
## $R - begin right alignment
|
||||||
|
##
|
||||||
|
## If you want to make sure that a part of the format is displayed only when
|
||||||
|
## certain tags are present, you can archieve it by grouping them with brackets,
|
||||||
|
## e.g. '{%a - %t}' will be evaluated to 'ARTIST - TITLE' if both tags are
|
||||||
|
## present or '' otherwise. It is also possible to define a list of
|
||||||
|
## alternatives by providing several groups and separating them with '|',
|
||||||
|
## e.g. '{%t}|{%f}' will be evaluated to 'TITLE' or 'FILENAME' if the former is
|
||||||
|
## not present.
|
||||||
|
##
|
||||||
|
## Note: If you want to set limit on maximal length of a tag, just put the
|
||||||
|
## appropriate number between % and character that defines tag type, e.g. to
|
||||||
|
## make album take max. 20 terminal cells, use '%20b'.
|
||||||
|
##
|
||||||
|
## In addition, formats support markers used for text attributes. They are
|
||||||
|
## followed by character '$'. After that you can put:
|
||||||
|
##
|
||||||
|
## - 0 - default window color (discards all other colors)
|
||||||
|
## - 1 - black
|
||||||
|
## - 2 - red
|
||||||
|
## - 3 - green
|
||||||
|
## - 4 - yellow
|
||||||
|
## - 5 - blue
|
||||||
|
## - 6 - magenta
|
||||||
|
## - 7 - cyan
|
||||||
|
## - 8 - white
|
||||||
|
## - 9 - end of current color
|
||||||
|
## - b - bold text
|
||||||
|
## - u - underline text
|
||||||
|
## - r - reverse colors
|
||||||
|
## - a - use alternative character set
|
||||||
|
##
|
||||||
|
## If you don't want to use a non-color attribute anymore, just put it again,
|
||||||
|
## but this time insert character '/' between '$' and attribute character,
|
||||||
|
## e.g. {$b%t$/b}|{$r%f$/r} will display bolded title tag or filename with
|
||||||
|
## reversed colors.
|
||||||
|
##
|
||||||
|
## If you want to use 256 colors and/or background colors in formats (the naming
|
||||||
|
## scheme is described below in section about color definitions), it can be done
|
||||||
|
## with the syntax $(COLOR), e.g. to set the artist tag to one of the
|
||||||
|
## non-standard colors and make it have yellow background, you need to write
|
||||||
|
## $(197_yellow)%a$(end). Note that for standard colors this is interchangable
|
||||||
|
## with attributes listed above.
|
||||||
|
##
|
||||||
|
## Note: colors can be nested.
|
||||||
|
##
|
||||||
|
#
|
||||||
|
#song_list_format = {%a - }{%t}|{$8%f$9}$R{$3%l$9}
|
||||||
|
#
|
||||||
|
#song_status_format = {{%a{ "%b"{ (%y)}} - }{%t}}|{%f}
|
||||||
|
#
|
||||||
|
#song_library_format = {%n - }{%t}|{%f}
|
||||||
|
#
|
||||||
|
#alternative_header_first_line_format = $b$1$aqqu$/a$9 {%t}|{%f} $1$atqq$/a$9$/b
|
||||||
|
#
|
||||||
|
#alternative_header_second_line_format = {{$4$b%a$/b$9}{ - $7%b$9}{ ($4%y$9)}}|{%D}
|
||||||
|
#
|
||||||
|
#current_item_prefix = $(yellow)$r
|
||||||
|
#
|
||||||
|
#current_item_suffix = $/r$(end)
|
||||||
|
#
|
||||||
|
#current_item_inactive_column_prefix = $(white)$r
|
||||||
|
#
|
||||||
|
#current_item_inactive_column_suffix = $/r$(end)
|
||||||
|
#
|
||||||
|
#now_playing_prefix = $b
|
||||||
|
#
|
||||||
|
#now_playing_suffix = $/b
|
||||||
|
#
|
||||||
|
#browser_playlist_prefix = "$2playlist$9 "
|
||||||
|
#
|
||||||
|
#selected_item_prefix = $6
|
||||||
|
#
|
||||||
|
#selected_item_suffix = $9
|
||||||
|
#
|
||||||
|
#modified_item_prefix = $3> $9
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: attributes are not supported for the following variables.
|
||||||
|
##
|
||||||
|
#song_window_title_format = {%a - }{%t}|{%f}
|
||||||
|
##
|
||||||
|
## Note: Below variables are used for sorting songs in browser. The sort mode
|
||||||
|
## determines how songs are sorted, and can be used in combination with a sort
|
||||||
|
## format to specify a custom sorting format. Available values for
|
||||||
|
## browser_sort_mode are "type", "name", "mtime", "format" and "none".
|
||||||
|
##
|
||||||
|
#
|
||||||
|
#browser_sort_mode = type
|
||||||
|
#
|
||||||
|
#browser_sort_format = {%a - }{%t}|{%f} {%l}
|
||||||
|
#
|
||||||
|
##### columns settings #####
|
||||||
|
##
|
||||||
|
## syntax of song columns list format is "column column etc."
|
||||||
|
##
|
||||||
|
## - syntax for each column is:
|
||||||
|
##
|
||||||
|
## (width of the column)[color of the column]{displayed tag}
|
||||||
|
##
|
||||||
|
## Note: Width is by default in %, if you want a column to have fixed size, add
|
||||||
|
## 'f' after the value, e.g. (10)[white]{a} will be the column that take 10% of
|
||||||
|
## screen (so the real width will depend on actual screen size), whereas
|
||||||
|
## (10f)[white]{a} will take 10 terminal cells, no matter how wide the screen
|
||||||
|
## is.
|
||||||
|
##
|
||||||
|
## - color is optional (if you want the default one, leave the field empty).
|
||||||
|
##
|
||||||
|
## Note: You can give a column additional attributes by putting appropriate
|
||||||
|
## character after displayed tag character. Available attributes are:
|
||||||
|
##
|
||||||
|
## - r - column will be right aligned
|
||||||
|
## - E - if tag is empty, empty tag marker won't be displayed
|
||||||
|
##
|
||||||
|
## You can also:
|
||||||
|
##
|
||||||
|
## - give a column custom name by putting it after attributes, separated with
|
||||||
|
## character ':', e.g. {lr:Length} gives you right aligned column of lengths
|
||||||
|
## named "Length".
|
||||||
|
##
|
||||||
|
## - define sequence of tags, that have to be displayed in case predecessor is
|
||||||
|
## empty in a way similar to the one in classic song format, i.e. using '|'
|
||||||
|
## character, e.g. {a|c|p:Owner} creates column named "Owner" that tries to
|
||||||
|
## display artist tag and then composer and performer if previous ones are not
|
||||||
|
## available.
|
||||||
|
##
|
||||||
|
#
|
||||||
|
#song_columns_list_format = (20)[]{a} (6f)[green]{NE} (50)[white]{t|f:Title} (20)[cyan]{b} (7f)[magenta]{l}
|
||||||
|
#
|
||||||
|
##### various settings #####
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: Custom command that will be executed each time song changes. Useful for
|
||||||
|
## notifications etc.
|
||||||
|
##
|
||||||
|
#execute_on_song_change = ""
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: Custom command that will be executed each time player state
|
||||||
|
## changes. The environment variable MPD_PLAYER_STATE is set to the current
|
||||||
|
## state (either unknown, play, pause, or stop) for its duration.
|
||||||
|
##
|
||||||
|
#
|
||||||
|
#execute_on_player_state_change = ""
|
||||||
|
#
|
||||||
|
#playlist_show_mpd_host = no
|
||||||
|
#
|
||||||
|
#playlist_show_remaining_time = no
|
||||||
|
#
|
||||||
|
#playlist_shorten_total_times = no
|
||||||
|
#
|
||||||
|
#playlist_separate_albums = no
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: Possible display modes: classic, columns.
|
||||||
|
##
|
||||||
|
#playlist_display_mode = columns
|
||||||
|
#
|
||||||
|
#browser_display_mode = classic
|
||||||
|
#
|
||||||
|
#search_engine_display_mode = classic
|
||||||
|
#
|
||||||
|
#playlist_editor_display_mode = classic
|
||||||
|
#
|
||||||
|
#discard_colors_if_item_is_selected = yes
|
||||||
|
#
|
||||||
|
#show_duplicate_tags = yes
|
||||||
|
#
|
||||||
|
#incremental_seeking = yes
|
||||||
|
#
|
||||||
|
#seek_time = 1
|
||||||
|
#
|
||||||
|
#volume_change_step = 2
|
||||||
|
#
|
||||||
|
#autocenter_mode = no
|
||||||
|
#
|
||||||
|
#centered_cursor = no
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: You can specify third character which will be used to build 'empty'
|
||||||
|
## part of progressbar.
|
||||||
|
##
|
||||||
|
#progressbar_look = =>
|
||||||
|
#
|
||||||
|
## Available values: database, playlist.
|
||||||
|
##
|
||||||
|
#default_place_to_search_in = database
|
||||||
|
#
|
||||||
|
## Available values: classic, alternative.
|
||||||
|
##
|
||||||
|
#user_interface = classic
|
||||||
|
#
|
||||||
|
#data_fetching_delay = yes
|
||||||
|
#
|
||||||
|
## Available values: artist, album_artist, date, genre, composer, performer.
|
||||||
|
##
|
||||||
|
#media_library_primary_tag = artist
|
||||||
|
#
|
||||||
|
#media_library_albums_split_by_date = yes
|
||||||
|
#
|
||||||
|
#media_library_hide_album_dates = no
|
||||||
|
#
|
||||||
|
## Available values: wrapped, normal.
|
||||||
|
##
|
||||||
|
#default_find_mode = wrapped
|
||||||
|
#
|
||||||
|
#default_tag_editor_pattern = %n - %t
|
||||||
|
#
|
||||||
|
#header_visibility = yes
|
||||||
|
#
|
||||||
|
#statusbar_visibility = yes
|
||||||
|
#
|
||||||
|
## Show the "Connected to ..." message on startup
|
||||||
|
#connected_message_on_startup = yes
|
||||||
|
#
|
||||||
|
#titles_visibility = yes
|
||||||
|
#
|
||||||
|
#header_text_scrolling = yes
|
||||||
|
#
|
||||||
|
#cyclic_scrolling = no
|
||||||
|
#
|
||||||
|
#lyrics_fetchers = azlyrics, genius, musixmatch, sing365, metrolyrics, justsomelyrics, jahlyrics, plyrics, tekstowo, zeneszoveg, internet
|
||||||
|
#
|
||||||
|
#follow_now_playing_lyrics = no
|
||||||
|
#
|
||||||
|
#fetch_lyrics_for_current_song_in_background = no
|
||||||
|
#
|
||||||
|
#store_lyrics_in_song_dir = no
|
||||||
|
#
|
||||||
|
#generate_win32_compatible_filenames = yes
|
||||||
|
#
|
||||||
|
#allow_for_physical_item_deletion = no
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: If you set this variable, ncmpcpp will try to get info from last.fm in
|
||||||
|
## language you set and if it fails, it will fall back to english. Otherwise it
|
||||||
|
## will use english the first time.
|
||||||
|
##
|
||||||
|
## Note: Language has to be expressed as an ISO 639 alpha-2 code.
|
||||||
|
##
|
||||||
|
#lastfm_preferred_language = en
|
||||||
|
#
|
||||||
|
#space_add_mode = add_remove
|
||||||
|
#
|
||||||
|
#show_hidden_files_in_local_browser = no
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## How shall screen switcher work?
|
||||||
|
##
|
||||||
|
## - "previous" - switch between the current and previous screen.
|
||||||
|
## - "screen1,...,screenN" - switch between given sequence of screens.
|
||||||
|
##
|
||||||
|
## Screens available for use: help, playlist, browser, search_engine,
|
||||||
|
## media_library, playlist_editor, tag_editor, outputs, visualizer, clock,
|
||||||
|
## lyrics, last_fm.
|
||||||
|
##
|
||||||
|
#screen_switcher_mode = playlist, browser
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: You can define startup screen by choosing screen from the list above.
|
||||||
|
##
|
||||||
|
#startup_screen = playlist
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: You can define startup slave screen by choosing screen from the list
|
||||||
|
## above or an empty value for no slave screen.
|
||||||
|
##
|
||||||
|
#startup_slave_screen = ""
|
||||||
|
#
|
||||||
|
#startup_slave_screen_focus = no
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Default width of locked screen (in %). Acceptable values are from 20 to 80.
|
||||||
|
##
|
||||||
|
#
|
||||||
|
#locked_screen_width_part = 50
|
||||||
|
#
|
||||||
|
#ask_for_locked_screen_width_part = yes
|
||||||
|
#
|
||||||
|
#jump_to_now_playing_song_at_start = yes
|
||||||
|
#
|
||||||
|
#ask_before_clearing_playlists = yes
|
||||||
|
#
|
||||||
|
#clock_display_seconds = no
|
||||||
|
#
|
||||||
|
#display_volume_level = yes
|
||||||
|
#
|
||||||
|
#display_bitrate = no
|
||||||
|
#
|
||||||
|
#display_remaining_time = no
|
||||||
|
#
|
||||||
|
## Available values: none, basic, extended, perl.
|
||||||
|
##
|
||||||
|
#regular_expressions = perl
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: if below is enabled, ncmpcpp will ignore leading "The" word while
|
||||||
|
## sorting items in browser, tags in media library, etc.
|
||||||
|
##
|
||||||
|
#ignore_leading_the = no
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: if below is enabled, ncmpcpp will ignore diacritics while searching and
|
||||||
|
## filtering lists. This takes an effect only if boost was compiled with ICU
|
||||||
|
## support.
|
||||||
|
##
|
||||||
|
#ignore_diacritics = no
|
||||||
|
#
|
||||||
|
#block_search_constraints_change_if_items_found = yes
|
||||||
|
#
|
||||||
|
#mouse_support = yes
|
||||||
|
#
|
||||||
|
#mouse_list_scroll_whole_page = no
|
||||||
|
#
|
||||||
|
#lines_scrolled = 5
|
||||||
|
#
|
||||||
|
#empty_tag_marker = <empty>
|
||||||
|
#
|
||||||
|
#tags_separator = " | "
|
||||||
|
#
|
||||||
|
#tag_editor_extended_numeration = no
|
||||||
|
#
|
||||||
|
#media_library_sort_by_mtime = no
|
||||||
|
#
|
||||||
|
#enable_window_title = yes
|
||||||
|
#
|
||||||
|
##
|
||||||
|
## Note: You can choose default search mode for search engine. Available modes
|
||||||
|
## are:
|
||||||
|
##
|
||||||
|
## - 1 - use mpd built-in searching (no regexes, pattern matching)
|
||||||
|
##
|
||||||
|
## - 2 - use ncmpcpp searching (pattern matching with support for regexes, but
|
||||||
|
## if your mpd is on a remote machine, downloading big database to process
|
||||||
|
## it can take a while
|
||||||
|
##
|
||||||
|
## - 3 - match only exact values (this mode uses mpd function for searching in
|
||||||
|
## database and local one for searching in current playlist)
|
||||||
|
##
|
||||||
|
#
|
||||||
|
#search_engine_default_search_mode = 1
|
||||||
|
#
|
||||||
|
#external_editor = nano
|
||||||
|
#
|
||||||
|
## Note: set to yes if external editor is a console application.
|
||||||
|
##
|
||||||
|
#use_console_editor = yes
|
||||||
|
#
|
||||||
|
##### colors definitions #####
|
||||||
|
##
|
||||||
|
## It is possible to set a background color by setting a color value
|
||||||
|
## "<foreground>_<background>", e.g. red_black will set foregound color to red
|
||||||
|
## and background color to black.
|
||||||
|
##
|
||||||
|
## In addition, for terminals that support 256 colors it is possible to set one
|
||||||
|
## of them by using a number in range [1, 256] instead of color name,
|
||||||
|
## e.g. numerical value corresponding to red_black is 2_1. To find out if the
|
||||||
|
## terminal supports 256 colors, run ncmpcpp and check out the bottom of the
|
||||||
|
## help screen for list of available colors and their numerical values.
|
||||||
|
##
|
||||||
|
## What is more, there are two special values for the background color:
|
||||||
|
## "transparent" and "current". The first one explicitly sets the background to
|
||||||
|
## be transparent, while the second one allows you to preserve current
|
||||||
|
## background color and change only the foreground one. It's used implicitly
|
||||||
|
## when background color is not specified.
|
||||||
|
##
|
||||||
|
## Moreover, it is possible to attach format information to selected color
|
||||||
|
## variables by appending to their end a colon followed by one or more format
|
||||||
|
## flags, e.g. black:b or red:ur. The following variables support this syntax:
|
||||||
|
## visualizer_color, color1, color2, empty_tag_color, volume_color,
|
||||||
|
## state_line_color, state_flags_color, progressbar_color,
|
||||||
|
## progressbar_elapsed_color, player_state_color, statusbar_time_color,
|
||||||
|
## alternative_ui_separator_color.
|
||||||
|
##
|
||||||
|
## Note: due to technical limitations of older ncurses version, if 256 colors
|
||||||
|
## are used there is a possibility that you'll be able to use only colors with
|
||||||
|
## transparent background.
|
||||||
|
#
|
||||||
|
#colors_enabled = yes
|
||||||
|
#
|
||||||
|
#empty_tag_color = cyan
|
||||||
|
#
|
||||||
|
#header_window_color = default
|
||||||
|
#
|
||||||
|
#volume_color = default
|
||||||
|
#
|
||||||
|
#state_line_color = default
|
||||||
|
#
|
||||||
|
#state_flags_color = default:b
|
||||||
|
#
|
||||||
|
#main_window_color = yellow
|
||||||
|
#
|
||||||
|
#color1 = white
|
||||||
|
#
|
||||||
|
#color2 = green
|
||||||
|
#
|
||||||
|
#progressbar_color = black:b
|
||||||
|
#
|
||||||
|
#progressbar_elapsed_color = green:b
|
||||||
|
#
|
||||||
|
#statusbar_color = default
|
||||||
|
#
|
||||||
|
#statusbar_time_color = default:b
|
||||||
|
#
|
||||||
|
#player_state_color = default:b
|
||||||
|
#
|
||||||
|
#alternative_ui_separator_color = black:b
|
||||||
|
#
|
||||||
|
#window_border_color = green
|
||||||
|
#
|
||||||
|
#active_window_border = red
|
||||||
|
#
|
|
@ -4,5 +4,6 @@ _: {
|
||||||
# ./helix.nix
|
# ./helix.nix
|
||||||
./neovim.nix
|
./neovim.nix
|
||||||
# ./newsboat.nix
|
# ./newsboat.nix
|
||||||
|
./ncmpcpp.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
18
modules/tui/ncmpcpp.nix
Normal file
18
modules/tui/ncmpcpp.nix
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.modules.programs.ncmpcpp;
|
||||||
|
username = config.modules.other.system.username;
|
||||||
|
in {
|
||||||
|
options.modules.programs.ncmpcpp.enable = mkEnableOption "ncmpcpp";
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
home-manager.users.${username} = {
|
||||||
|
xdg.configFile."ncmpcpp/config".source = ./config;
|
||||||
|
programs.ncmpcpp = {
|
||||||
|
enable = true;
|
||||||
|
mpdMusicDir = "/home/vali/Nextcloud/Media/Music";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
|
@ -7,7 +7,8 @@ with lib;
|
||||||
List of monitors to use
|
List of monitors to use
|
||||||
";
|
";
|
||||||
default = [];
|
default = [];
|
||||||
type = with types; listOf submodule {
|
type = with types; types.listOf (submodule {
|
||||||
|
options = {
|
||||||
name = mkOption {
|
name = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
description = "Give your monitor a cute name";
|
description = "Give your monitor a cute name";
|
||||||
|
@ -19,18 +20,20 @@ with lib;
|
||||||
};
|
};
|
||||||
resolution = mkOption {
|
resolution = mkOption {
|
||||||
type = types.submodule {
|
type = types.submodule {
|
||||||
width = mkOption {
|
options = {
|
||||||
|
x = mkOption {
|
||||||
type = types.int;
|
type = types.int;
|
||||||
description = "monitor width";
|
description = "monitor width";
|
||||||
default = "1920";
|
default = "1920";
|
||||||
};
|
};
|
||||||
height = mkOption {
|
y = mkOption {
|
||||||
type = types.int;
|
type = types.int;
|
||||||
description = "monitor height";
|
description = "monitor height";
|
||||||
default = "1080";
|
default = "1080";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
scale = mkOption {
|
scale = mkOption {
|
||||||
type = types.number;
|
type = types.number;
|
||||||
description = "monitor scale";
|
description = "monitor scale";
|
||||||
|
@ -43,6 +46,7 @@ with lib;
|
||||||
};
|
};
|
||||||
position = mkOption {
|
position = mkOption {
|
||||||
type = types.submodule {
|
type = types.submodule {
|
||||||
|
options = {
|
||||||
x = mkOption {
|
x = mkOption {
|
||||||
type = types.int;
|
type = types.int;
|
||||||
default = 0;
|
default = 0;
|
||||||
|
@ -52,6 +56,7 @@ with lib;
|
||||||
default = 0;
|
default = 0;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
description = "absolute monitor posititon";
|
description = "absolute monitor posititon";
|
||||||
default = {
|
default = {
|
||||||
x = 0;
|
x = 0;
|
||||||
|
@ -64,6 +69,7 @@ with lib;
|
||||||
default = 0;
|
default = 0;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue