2022-04-20 17:05:02 +00:00
|
|
|
{ pkgs, config, lib, ... }:
|
2021-10-09 02:52:28 +00:00
|
|
|
|
|
|
|
{
|
|
|
|
imports = [
|
2022-04-20 17:05:02 +00:00
|
|
|
# Common configuration
|
|
|
|
./common.nix
|
|
|
|
# osu!
|
|
|
|
./osu.nix
|
2021-10-09 02:52:28 +00:00
|
|
|
];
|
|
|
|
|
|
|
|
# Home Manager needs a bit of information about you and the
|
|
|
|
# paths it should manage.
|
|
|
|
home.username = "nki";
|
|
|
|
home.homeDirectory = "/home/nki";
|
|
|
|
|
|
|
|
# More packages
|
|
|
|
home.packages = (with pkgs; [
|
2022-04-20 17:05:02 +00:00
|
|
|
# CLI stuff
|
|
|
|
zip
|
|
|
|
# TeX
|
|
|
|
texlive.combined.scheme-full
|
2023-06-12 22:39:49 +00:00
|
|
|
inkscape # for TeX svg
|
2021-10-09 02:52:28 +00:00
|
|
|
|
2022-04-20 17:05:02 +00:00
|
|
|
# Java & sbt
|
|
|
|
openjdk11
|
|
|
|
sbt
|
2021-10-09 02:52:28 +00:00
|
|
|
]);
|
|
|
|
|
2022-04-20 17:05:02 +00:00
|
|
|
# Enable X11 configuration
|
2022-05-03 14:30:53 +00:00
|
|
|
linux.graphical.type = "wayland";
|
2022-04-27 18:08:55 +00:00
|
|
|
linux.graphical.wallpaper = ./images/wallpaper_1.png;
|
2022-05-03 14:30:53 +00:00
|
|
|
programs.my-sway.enable = true;
|
2022-07-14 02:15:30 +00:00
|
|
|
programs.my-sway.fontSize = 15.0;
|
2022-05-03 14:30:53 +00:00
|
|
|
programs.my-sway.enableLaptopBars = false;
|
2022-09-16 15:25:19 +00:00
|
|
|
programs.my-sway.enableMpd = true;
|
2022-05-03 14:30:53 +00:00
|
|
|
# Keyboard options
|
|
|
|
wayland.windowManager.sway.config.input."type:keyboard".xkb_layout = "jp";
|
2023-04-16 10:49:10 +00:00
|
|
|
wayland.windowManager.sway.config.input."type:pointer".accel_profile = "flat";
|
2022-05-03 14:30:53 +00:00
|
|
|
# 144hz adaptive refresh ON!
|
2022-10-09 09:29:23 +00:00
|
|
|
wayland.windowManager.sway.config.output =
|
|
|
|
let
|
|
|
|
scale = 1.5;
|
|
|
|
top_x = builtins.ceil (3840 / scale);
|
|
|
|
top_y = builtins.ceil (((2160 / scale) - 1080) / 2);
|
|
|
|
in
|
|
|
|
{
|
2023-04-29 12:53:06 +00:00
|
|
|
"AOC U28G2G6B PPYP2JA000013" = {
|
2022-10-09 09:29:23 +00:00
|
|
|
mode = "3840x2160@60Hz";
|
|
|
|
scale = toString scale;
|
|
|
|
adaptive_sync = "on";
|
2023-03-09 08:25:55 +00:00
|
|
|
# render_bit_depth = "10";
|
2022-10-09 09:29:23 +00:00
|
|
|
position = "0 0";
|
|
|
|
};
|
2023-03-23 09:59:44 +00:00
|
|
|
"AOC 24G2W1G4 ATNN21A005410" = {
|
2022-10-09 09:29:23 +00:00
|
|
|
mode = "1920x1080@144Hz";
|
|
|
|
adaptive_sync = "on";
|
|
|
|
position = "${toString top_x} ${toString top_y}";
|
|
|
|
};
|
|
|
|
|
|
|
|
"ViewSonic Corporation XG2402 SERIES V4K182501054" = {
|
|
|
|
mode = "1920x1080@144Hz";
|
|
|
|
adaptive_sync = "on";
|
|
|
|
};
|
|
|
|
};
|
2022-10-26 17:00:00 +00:00
|
|
|
nki.programs.kitty.enable = true;
|
2022-09-11 13:41:59 +00:00
|
|
|
nki.programs.kitty.fontSize = 14;
|
2023-06-15 09:26:33 +00:00
|
|
|
programs.my-sway.waybar.makeBars = barWith: [
|
|
|
|
# For primary
|
|
|
|
(barWith { extraSettings = { output = [ "AOC U28G2G6B PPYP2JA000013" ]; }; })
|
|
|
|
# For secondary, hide mpd
|
|
|
|
(barWith { showMedia = false; showConnectivity = false; extraSettings = { output = [ "AOC 24G2W1G4 ATNN21A005410" ]; }; })
|
|
|
|
];
|
2022-07-14 02:01:57 +00:00
|
|
|
|
|
|
|
# Yellow light!
|
|
|
|
services.wlsunset = {
|
|
|
|
enable = true;
|
2022-09-13 14:04:10 +00:00
|
|
|
# # Waterloo
|
|
|
|
# latitude = "43.3";
|
|
|
|
# longitude = "-80.3";
|
|
|
|
|
|
|
|
# Lausanne
|
|
|
|
latitude = "46.31";
|
|
|
|
longitude = "6.38";
|
2022-07-14 02:01:57 +00:00
|
|
|
};
|
|
|
|
|
2022-09-16 15:25:19 +00:00
|
|
|
# mpd stuff
|
2022-12-24 13:09:28 +00:00
|
|
|
services.mpd.musicDirectory = "${config.home.homeDirectory}/Music";
|
2022-09-16 15:25:19 +00:00
|
|
|
services.mpd-discord-rpc.enable = true;
|
2023-03-31 08:26:13 +00:00
|
|
|
services.mpd-mpris.enable = true;
|
2022-09-16 15:25:19 +00:00
|
|
|
# ncmpcpp
|
|
|
|
programs.ncmpcpp.enable = true;
|
2022-09-21 06:12:34 +00:00
|
|
|
programs.ncmpcpp.bindings = [
|
|
|
|
{ key = "j"; command = "scroll_down"; }
|
|
|
|
{ key = "k"; command = "scroll_up"; }
|
|
|
|
{ key = "J"; command = [ "select_item" "scroll_down" ]; }
|
|
|
|
{ key = "K"; command = [ "select_item" "scroll_up" ]; }
|
|
|
|
];
|
|
|
|
programs.ncmpcpp.settings = {
|
|
|
|
# General
|
|
|
|
colors_enabled = "yes";
|
|
|
|
enable_window_title = "yes";
|
|
|
|
main_window_color = "default";
|
|
|
|
execute_on_song_change = "${pkgs.libnotify}/bin/notify-send 'Now Playing' \"$(${pkgs.mpc_cli}/bin/mpc --format '%title% \\n%artist%' current)\"";
|
|
|
|
autocenter_mode = "yes";
|
|
|
|
centered_cursor = "yes";
|
|
|
|
user_interface = "classic";
|
|
|
|
|
|
|
|
# Progess Bar
|
|
|
|
progressbar_look = "━━╸";
|
|
|
|
progressbar_color = "white";
|
|
|
|
progressbar_elapsed_color = "green";
|
|
|
|
|
|
|
|
# UI Visibility
|
|
|
|
# header_visibility = "no";
|
|
|
|
# statusbar_visibility = "no";
|
|
|
|
# titles_visibility = "no";
|
|
|
|
startup_screen = "playlist";
|
|
|
|
#startup_slave_screen = "visualizer"
|
|
|
|
locked_screen_width_part = 50;
|
|
|
|
ask_for_locked_screen_width_part = "no";
|
|
|
|
|
|
|
|
# UI Appearance
|
|
|
|
now_playing_prefix = "$b$3";
|
|
|
|
now_playing_suffix = "$/b$9";
|
|
|
|
song_status_format = "$7%t";
|
|
|
|
song_list_format = "$8%a - %t$R $5%l";
|
|
|
|
song_columns_list_format = "(3f)[green]{} (60)[magenta]{t|f:Title} (1)[]{}";
|
|
|
|
song_library_format = "{{%a - %t} (%b)}|{%f}";
|
|
|
|
song_window_title_format = "Music";
|
|
|
|
|
|
|
|
# Visualizer
|
|
|
|
visualizer_in_stereo = "no";
|
|
|
|
visualizer_type = "ellipse";
|
|
|
|
visualizer_fps = "60";
|
|
|
|
visualizer_look = "●●";
|
|
|
|
visualizer_color = "33,39,63,75,81,99,117,153,189";
|
|
|
|
};
|
2022-09-16 15:25:19 +00:00
|
|
|
|
|
|
|
services.mpris-proxy.enable = true;
|
2022-07-14 02:01:57 +00:00
|
|
|
|
2022-05-03 14:30:53 +00:00
|
|
|
# linux.graphical.x11.hidpi = true;
|
|
|
|
# linux.graphical.x11.enablei3 = true;
|
2022-04-20 17:05:02 +00:00
|
|
|
|
2021-10-09 02:52:28 +00:00
|
|
|
# This value determines the Home Manager release that your
|
|
|
|
# configuration is compatible with. This helps avoid breakage
|
|
|
|
# when a new Home Manager release introduces backwards
|
|
|
|
# incompatible changes.
|
|
|
|
#
|
|
|
|
# You can update Home Manager without changing this value. See
|
|
|
|
# the Home Manager release notes for a list of state version
|
|
|
|
# changes in each release.
|
|
|
|
home.stateVersion = "21.05";
|
|
|
|
}
|
|
|
|
|