From 24589a4689ec7c4a3c722daeece04d76dd5b7f12 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Wed, 17 Feb 2021 23:30:14 +0530 Subject: Moves configuration around to modules --- configuration.nix | 41 +++++-------------- home.nix | 49 +++++------------------ modules/git.home.nix | 38 ++++++++++++++++++ modules/music.home.nix | 102 +++++++++++++++++++++++++++++++++++++++++++++++ modules/music.nix | 102 ----------------------------------------------- modules/torrent.home.nix | 35 ++++++++++++++++ 6 files changed, 195 insertions(+), 172 deletions(-) create mode 100644 modules/git.home.nix create mode 100644 modules/music.home.nix delete mode 100644 modules/music.nix create mode 100644 modules/torrent.home.nix diff --git a/configuration.nix b/configuration.nix index c2d900b..699a5e5 100644 --- a/configuration.nix +++ b/configuration.nix @@ -13,6 +13,7 @@ in { ./packages.nix ./overlays-system.nix ./login.nix + ./modules/torrent.home.nix ]; nixpkgs.config = { @@ -27,7 +28,10 @@ in { extraHosts = ''''; }; - virtualisation.docker.enable = true; + virtualisation = { + docker.enable = true; + lxd.enable = true; + }; # I18n and keyboard layout time.timeZone = "Asia/Kolkata"; @@ -40,35 +44,6 @@ in { home = { stateVersion = "21.03"; }; }; - services.transmission = { - enable = true; - settings = { - "download-dir" = "/home/imsohexy/Downloads/dl"; - "download-queue-enabled" = true; - "download-queue-size" = 5; - "incomplete-dir" = "/home/imsohexy/Downloads/dl/incomplete"; - "incomplete-dir-enabled" = true; - "peer-port" = 51413; - "peer-port-random-high" = 65535; - "peer-port-random-low" = 49152; - "prefetch-enabled" = true; - "rename-partial-files" = true; - "rpc-authentication-required" = false; - "rpc-bind-address" = "127.0.0.1"; - "rpc-enabled" = true; - "rpc-port" = 9091; - "rpc-whitelist-enabled" = true; - "script-torrent-done-enabled" = false; - "script-torrent-done-filename" = ""; - "start-added-torrents" = true; - "trash-original-torrent-files" = false; - "umask" = 18; - "utp-enabled" = true; - "watch-dir" = "/home/an/Downloads/qute"; - "watch-dir-enabled" = false; - }; - }; - # X11 config services.xserver = { enable = true; @@ -76,8 +51,10 @@ in { displayManager.startx.enable = true; libinput = { enable = true; - tapping = true; - naturalScrolling = false; + touchpad = { + tapping = true; + naturalScrolling = false; + }; }; }; fonts.fonts = with pkgs; [ diff --git a/home.nix b/home.nix index 06edb7f..a70e8ca 100644 --- a/home.nix +++ b/home.nix @@ -1,55 +1,28 @@ -{ config, pkgs, ... }: +{ config, pkgs, epkgs, ... }: let localPkgs = import ./packages/default.nix { pkgs = pkgs; }; in { imports = [ - ./modules/music.nix ./overlays-home.nix + ./modules/music.home.nix + ./modules/git.home.nix ]; home.packages = with pkgs; [ yarn ]; - programs.lsd = { + programs.emacs = { enable = true; - enableAliases = true; + }; + services.emacs = { + enable = true; + client.enable = true; }; - programs.git = { + programs.lsd = { enable = true; - userEmail = "phenax5@gmail.com"; - userName = "Akshay Nair"; - ignores = [ - "tags" - ".vim.session" - "tags.lock" - "tags.temp" - ]; - aliases = { - ignore = "!gi() { curl -sL https://www.toptal.com/developers/gitignore/api/$@ ;}; gi"; - }; - extraConfig = { - "color" = { - "ui" = true; - }; - "color \"diff-highlight\"" = { - oldNormal = "red bold"; - oldHighlight = "red bold 52"; - newNormal = "green bold"; - newHighlight = "green bold 22"; - }; - "color \"diff\"" = { - meta = 11; - frag = "magenta bold"; - commit = "yellow bold"; - old = "red bold"; - new = "green bold"; - whitespace = "red reverse"; - }; - }; - #signing.key = "GPG-KEY-ID"; - #signing.signByDefault = true; + enableAliases = true; }; services.syncthing = { @@ -85,7 +58,7 @@ in { #''; }; - services.network-manager-applet.enable = true; + # services.network-manager-applet.enable = true; xresources.properties = let bg = "#0f0c19"; diff --git a/modules/git.home.nix b/modules/git.home.nix new file mode 100644 index 0000000..440a7d5 --- /dev/null +++ b/modules/git.home.nix @@ -0,0 +1,38 @@ +{ config, pkgs, ... }: +{ + programs.git = { + enable = true; + userEmail = "phenax5@gmail.com"; + userName = "Akshay Nair"; + ignores = [ + "tags" + ".vim.session" + "tags.lock" + "tags.temp" + ]; + aliases = { + ignore = "!gi() { curl -sL https://www.toptal.com/developers/gitignore/api/$@ ;}; gi"; + }; + extraConfig = { + "color" = { + "ui" = true; + }; + "color \"diff-highlight\"" = { + oldNormal = "red bold"; + oldHighlight = "red bold 52"; + newNormal = "green bold"; + newHighlight = "green bold 22"; + }; + "color \"diff\"" = { + meta = 11; + frag = "magenta bold"; + commit = "yellow bold"; + old = "red bold"; + new = "green bold"; + whitespace = "red reverse"; + }; + }; + #signing.key = "GPG-KEY-ID"; + #signing.signByDefault = true; + }; +} diff --git a/modules/music.home.nix b/modules/music.home.nix new file mode 100644 index 0000000..b7cc0d6 --- /dev/null +++ b/modules/music.home.nix @@ -0,0 +1,102 @@ +{ config, pkgs, ... }: +{ + home.packages = with pkgs; [ mpc_cli ]; + + services.mpd = { + enable = true; + musicDirectory = "${config.home.homeDirectory}/Downloads/music"; + playlistDirectory = "${config.home.homeDirectory}/Downloads/music/playlist"; + network = { + listenAddress = "0.0.0.0"; + port = 6600; + }; + extraConfig = '' + restore_paused "yes" + metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc" + auto_update "yes" + auto_update_depth "3" + follow_outside_symlinks "yes" + follow_inside_symlinks "yes" + input { + plugin "curl" + } + audio_output { + type "alsa" + name "My ALSA Device" + device "hw:0,0" + } + audio_output { + type "fifo" + name "my_fifo" + path "/tmp/mpd.fifo" + format "44100:16:2" + } + filesystem_charset "UTF-8" + ''; + }; + + programs.ncmpcpp = { + enable = true; + settings = { + # visualizer_type = "spectrum"; + user_interface = "alternative"; + playlist_display_mode = "columns"; + browser_display_mode = "columns"; + playlist_editor_display_mode = "classic"; + + empty_tag_color = "magenta"; + header_window_color = "magenta"; + volume_color = "cyan"; + state_line_color = "magenta"; + state_flags_color = "magenta:b"; + color1 = "white"; + color2 = "magenta"; + main_window_color = "white"; + progressbar_color = "black:b"; + progressbar_elapsed_color = "magenta:b"; + statusbar_color = "magenta"; + statusbar_time_color = "magenta:b"; + player_state_color = "magenta:b"; + alternative_ui_separator_color = "magenta"; + window_border_color = "magenta"; + active_window_border = "red"; + + now_playing_prefix = "$(blue)$b"; + now_playing_suffix = "$/b$(end)"; + current_item_prefix = "$(magenta)$r$b"; + current_item_suffix = "$/r$(end)$/b"; + current_item_inactive_column_prefix = "$(white)$r"; + current_item_inactive_column_suffix = "$/r$(end)"; + + media_library_primary_tag = "album_artist"; + media_library_albums_split_by_date = "no"; + startup_screen = "browser"; + ignore_leading_the = "yes"; + display_volume_level = "no"; + external_editor = "sensible-editor"; + use_console_editor = "yes"; + mouse_support = "yes"; + }; + + bindings = with builtins; let + toBinding = s: let get = elemAt s; in { key = get 0; command = get 1; }; + in map toBinding [ + ["h" ["previous_column" "master_screen" "jump_to_parent_directory"]] + ["l" ["next_column" "slave_screen" "enter_directory"]] + ["k" "scroll_up"] + ["j" "scroll_down"] + ["g" "page_up"] + ["G" "page_down"] + ["d" "delete_playlist_items"] + ["n" "next_found_item"] + ["N" "previous_found_item"] + ["P" "show_playlist_editor"] + ["B" "show_browser"] + ["s" "show_search_engine"] + ["S" "show_search_engine"] + ["ctrl-s" "save_playlist"] + ["c" "clear_main_playlist"] + ["ctrl-l" "show_lyrics"] + ]; + }; +} diff --git a/modules/music.nix b/modules/music.nix deleted file mode 100644 index b7cc0d6..0000000 --- a/modules/music.nix +++ /dev/null @@ -1,102 +0,0 @@ -{ config, pkgs, ... }: -{ - home.packages = with pkgs; [ mpc_cli ]; - - services.mpd = { - enable = true; - musicDirectory = "${config.home.homeDirectory}/Downloads/music"; - playlistDirectory = "${config.home.homeDirectory}/Downloads/music/playlist"; - network = { - listenAddress = "0.0.0.0"; - port = 6600; - }; - extraConfig = '' - restore_paused "yes" - metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc" - auto_update "yes" - auto_update_depth "3" - follow_outside_symlinks "yes" - follow_inside_symlinks "yes" - input { - plugin "curl" - } - audio_output { - type "alsa" - name "My ALSA Device" - device "hw:0,0" - } - audio_output { - type "fifo" - name "my_fifo" - path "/tmp/mpd.fifo" - format "44100:16:2" - } - filesystem_charset "UTF-8" - ''; - }; - - programs.ncmpcpp = { - enable = true; - settings = { - # visualizer_type = "spectrum"; - user_interface = "alternative"; - playlist_display_mode = "columns"; - browser_display_mode = "columns"; - playlist_editor_display_mode = "classic"; - - empty_tag_color = "magenta"; - header_window_color = "magenta"; - volume_color = "cyan"; - state_line_color = "magenta"; - state_flags_color = "magenta:b"; - color1 = "white"; - color2 = "magenta"; - main_window_color = "white"; - progressbar_color = "black:b"; - progressbar_elapsed_color = "magenta:b"; - statusbar_color = "magenta"; - statusbar_time_color = "magenta:b"; - player_state_color = "magenta:b"; - alternative_ui_separator_color = "magenta"; - window_border_color = "magenta"; - active_window_border = "red"; - - now_playing_prefix = "$(blue)$b"; - now_playing_suffix = "$/b$(end)"; - current_item_prefix = "$(magenta)$r$b"; - current_item_suffix = "$/r$(end)$/b"; - current_item_inactive_column_prefix = "$(white)$r"; - current_item_inactive_column_suffix = "$/r$(end)"; - - media_library_primary_tag = "album_artist"; - media_library_albums_split_by_date = "no"; - startup_screen = "browser"; - ignore_leading_the = "yes"; - display_volume_level = "no"; - external_editor = "sensible-editor"; - use_console_editor = "yes"; - mouse_support = "yes"; - }; - - bindings = with builtins; let - toBinding = s: let get = elemAt s; in { key = get 0; command = get 1; }; - in map toBinding [ - ["h" ["previous_column" "master_screen" "jump_to_parent_directory"]] - ["l" ["next_column" "slave_screen" "enter_directory"]] - ["k" "scroll_up"] - ["j" "scroll_down"] - ["g" "page_up"] - ["G" "page_down"] - ["d" "delete_playlist_items"] - ["n" "next_found_item"] - ["N" "previous_found_item"] - ["P" "show_playlist_editor"] - ["B" "show_browser"] - ["s" "show_search_engine"] - ["S" "show_search_engine"] - ["ctrl-s" "save_playlist"] - ["c" "clear_main_playlist"] - ["ctrl-l" "show_lyrics"] - ]; - }; -} diff --git a/modules/torrent.home.nix b/modules/torrent.home.nix new file mode 100644 index 0000000..99f43d6 --- /dev/null +++ b/modules/torrent.home.nix @@ -0,0 +1,35 @@ +{ config, pkgs, ... }: +let + downloadsDir = "/home/imsohexy/Downloads/dl"; + incompleteDownloadsDir = "/home/imsohexy/Downloads/dl/incomplete"; + watchTorrentFilesOn = "/home/an/Downloads/qute"; +in { + services.transmission = { + enable = true; + settings = { + "download-dir" = downloadsDir; + "download-queue-enabled" = true; + "download-queue-size" = 5; + "incomplete-dir" = incompleteDownloadsDir; + "incomplete-dir-enabled" = true; + "peer-port" = 51413; + "peer-port-random-high" = 65535; + "peer-port-random-low" = 49152; + "prefetch-enabled" = true; + "rename-partial-files" = true; + "rpc-authentication-required" = false; + "rpc-bind-address" = "127.0.0.1"; + "rpc-enabled" = true; + "rpc-port" = 9091; + "rpc-whitelist-enabled" = true; + "script-torrent-done-enabled" = false; + "script-torrent-done-filename" = ""; + "start-added-torrents" = true; + "trash-original-torrent-files" = false; + "umask" = 18; + "utp-enabled" = true; + "watch-dir" = watchTorrentFilesOn; + "watch-dir-enabled" = false; + }; + }; +} -- cgit v1.3.1