diff --git a/flake.lock b/flake.lock index 1c87fb9..73f8212 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,167 @@ { "nodes": { + "base16": { + "inputs": { + "fromYaml": "fromYaml" + }, + "locked": { + "lastModified": 1689633990, + "narHash": "sha256-iwvQg2Vx0IIDWZaKo8Xmzxlv1YPHg+Kp/QSv8dRv0RY=", + "owner": "SenchoPens", + "repo": "base16.nix", + "rev": "dddf2e1c04845d43c89a8e9e37d574519649a404", + "type": "github" + }, + "original": { + "owner": "SenchoPens", + "repo": "base16.nix", + "type": "github" + } + }, + "base16-alacritty": { + "flake": false, + "locked": { + "lastModified": 1674275109, + "narHash": "sha256-Adwx9yP70I6mJrjjODOgZJjt4OPPe8gJu7UuBboXO4M=", + "owner": "aarowill", + "repo": "base16-alacritty", + "rev": "63d8ae5dfefe5db825dd4c699d0cdc2fc2c3eaf7", + "type": "github" + }, + "original": { + "owner": "aarowill", + "repo": "base16-alacritty", + "type": "github" + } + }, + "base16-fish": { + "flake": false, + "locked": { + "lastModified": 1622559957, + "narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=", + "owner": "tomyun", + "repo": "base16-fish", + "rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe", + "type": "github" + }, + "original": { + "owner": "tomyun", + "repo": "base16-fish", + "type": "github" + } + }, + "base16-foot": { + "flake": false, + "locked": { + "lastModified": 1696725948, + "narHash": "sha256-65bz2bUL/yzZ1c8/GQASnoiGwaF8DczlxJtzik1c0AU=", + "owner": "tinted-theming", + "repo": "base16-foot", + "rev": "eedbcfa30de0a4baa03e99f5e3ceb5535c2755ce", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-foot", + "type": "github" + } + }, + "base16-helix": { + "flake": false, + "locked": { + "lastModified": 1696727917, + "narHash": "sha256-FVrbPk+NtMra0jtlC5oxyNchbm8FosmvXIatkRbYy1g=", + "owner": "tinted-theming", + "repo": "base16-helix", + "rev": "dbe1480d99fe80f08df7970e471fac24c05f2ddb", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-helix", + "type": "github" + } + }, + "base16-kitty": { + "flake": false, + "locked": { + "lastModified": 1665001328, + "narHash": "sha256-aRaizTYPpuWEcvoYE9U+YRX+Wsc8+iG0guQJbvxEdJY=", + "owner": "kdrag0n", + "repo": "base16-kitty", + "rev": "06bb401fa9a0ffb84365905ffbb959ae5bf40805", + "type": "github" + }, + "original": { + "owner": "kdrag0n", + "repo": "base16-kitty", + "type": "github" + } + }, + "base16-tmux": { + "flake": false, + "locked": { + "lastModified": 1696725902, + "narHash": "sha256-wDPg5elZPcQpu7Df0lI5O8Jv4A3T6jUQIVg63KDU+3Q=", + "owner": "tinted-theming", + "repo": "base16-tmux", + "rev": "c02050bebb60dbb20cb433cd4d8ce668ecc11ba7", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-tmux", + "type": "github" + } + }, + "base16-vim": { + "flake": false, + "locked": { + "lastModified": 1663659192, + "narHash": "sha256-uJvaYYDMXvoo0fhBZUhN8WBXeJ87SRgof6GEK2efFT0=", + "owner": "chriskempson", + "repo": "base16-vim", + "rev": "3be3cd82cd31acfcab9a41bad853d9c68d30478d", + "type": "github" + }, + "original": { + "owner": "chriskempson", + "repo": "base16-vim", + "type": "github" + } + }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "fromYaml": { + "flake": false, + "locked": { + "lastModified": 1689549921, + "narHash": "sha256-iX0pk/uB019TdBGlaJEWvBCfydT6sRq+eDcGPifVsCM=", + "owner": "SenchoPens", + "repo": "fromYaml", + "rev": "11fbbbfb32e3289d3c631e0134a23854e7865c84", + "type": "github" + }, + "original": { + "owner": "SenchoPens", + "repo": "fromYaml", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -21,6 +183,27 @@ "type": "github" } }, + "home-manager_2": { + "inputs": { + "nixpkgs": [ + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1700847865, + "narHash": "sha256-uWaOIemGl9LF813MW0AEgCBpKwFo2t1Wv3BZc6e5Frw=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "8cedd63eede4c22deb192f1721dd67e7460e1ebe", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, "hyprland": { "inputs": { "hyprland-protocols": "hyprland-protocols", @@ -30,11 +213,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1700051522, - "narHash": "sha256-u9k9O8oN5udH3ReAjJKribuJD8jHGHu5MDkJAXpqplo=", + "lastModified": 1702236723, + "narHash": "sha256-zIEnimM1vhsFkz+Kubb8kJ6YgHuLe56pALOSJc6CMVY=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "9e3dccca76ca3af4e96ac80c2ddef4774dc1354b", + "rev": "167f2ed3b2bb18ceeabb831ac80b655ef8e16867", "type": "github" }, "original": { @@ -70,11 +253,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1698134075, - "narHash": "sha256-foCD+nuKzfh49bIoiCBur4+Fx1nozo+4C/6k8BYk4sg=", + "lastModified": 1700612854, + "narHash": "sha256-yrQ8osMD+vDLGFX7pcwsY/Qr5PUd6OmDMYJZzZi0+zc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8efd5d1e283604f75a808a20e6cde0ef313d07d4", + "rev": "19cbff58383a4ae384dea4d1d0c823d72b49d614", "type": "github" }, "original": { @@ -99,11 +282,56 @@ "type": "indirect" } }, + "nixpkgs_3": { + "locked": { + "lastModified": 1700856099, + "narHash": "sha256-RnEA7iJ36Ay9jI0WwP+/y4zjEhmeN6Cjs9VOFBH7eVQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "0bd59c54ef06bc34eca01e37d689f5e46b3fe2f1", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "root": { "inputs": { "home-manager": "home-manager", "hyprland": "hyprland", - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs_2", + "stylix": "stylix" + } + }, + "stylix": { + "inputs": { + "base16": "base16", + "base16-alacritty": "base16-alacritty", + "base16-fish": "base16-fish", + "base16-foot": "base16-foot", + "base16-helix": "base16-helix", + "base16-kitty": "base16-kitty", + "base16-tmux": "base16-tmux", + "base16-vim": "base16-vim", + "flake-compat": "flake-compat", + "home-manager": "home-manager_2", + "nixpkgs": "nixpkgs_3" + }, + "locked": { + "lastModified": 1702242258, + "narHash": "sha256-DSiwYD1DZY+YJALahnCVKacWk2AGy+s1pd3Z07tEF/U=", + "owner": "danth", + "repo": "stylix", + "rev": "b5ad31b710294038f9ed70efdf787db6a82d7327", + "type": "github" + }, + "original": { + "owner": "danth", + "repo": "stylix", + "type": "github" } }, "systems": { @@ -125,18 +353,18 @@ "flake": false, "locked": { "host": "gitlab.freedesktop.org", - "lastModified": 1699292815, - "narHash": "sha256-HXu98PyBMKEWLqiTb8viuLDznud/SdkdJsx5A5CWx7I=", + "lastModified": 1701368958, + "narHash": "sha256-7kvyoA91etzVEl9mkA/EJfB6z/PltxX7Xc4gcr7/xlo=", "owner": "wlroots", "repo": "wlroots", - "rev": "5de9e1a99d6642c2d09d589aa37ff0a8945dcee1", + "rev": "5d639394f3e83b01596dcd166a44a9a1a2583350", "type": "gitlab" }, "original": { "host": "gitlab.freedesktop.org", "owner": "wlroots", "repo": "wlroots", - "rev": "5de9e1a99d6642c2d09d589aa37ff0a8945dcee1", + "rev": "5d639394f3e83b01596dcd166a44a9a1a2583350", "type": "gitlab" } }, @@ -156,11 +384,11 @@ ] }, "locked": { - "lastModified": 1697981233, - "narHash": "sha256-y8q4XUwx+gVK7i2eLjfR32lVo7TYvEslyzrmzYEaPZU=", + "lastModified": 1700508250, + "narHash": "sha256-X4o/mifI7Nhu0UKYlxx53wIC+gYDo3pVM9L2u3PE2bE=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "22e7a65ff9633e1dedfa5317fdffc49f68de2ff2", + "rev": "eb120ff25265ecacd0fc13d7dab12131b60d0f47", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 4baf60f..f4a598b 100644 --- a/flake.nix +++ b/flake.nix @@ -10,9 +10,10 @@ hyprland = { url = "github:hyprwm/Hyprland"; }; + stylix.url = "github:danth/stylix"; }; - outputs = { nixpkgs, home-manager, hyprland, ... } @inputs : + outputs = { nixpkgs, home-manager, hyprland, stylix, ... } @inputs : let system = "x86_64-linux"; lib = nixpkgs.lib; @@ -24,10 +25,10 @@ { nixosConfigurations = { zenix = mkConf "zenix" { - inherit inputs nixpkgs system user userName home-manager hyprland; + inherit inputs nixpkgs system user userName home-manager; }; FCS-Tristan-Nixbook = mkConf "work" { - inherit inputs nixpkgs system user userName home-manager hyprland; + inherit inputs nixpkgs system user userName home-manager; work = true; }; }; diff --git a/global/home.nix b/global/home.nix index dc1c57d..ef5851c 100644 --- a/global/home.nix +++ b/global/home.nix @@ -18,6 +18,8 @@ let menu = "${config.programs.menu.package}${config.programs.menu.dmenuCommand}"; fileman = "${pkgs.pcmanfm}/bin/pcmanfm"; gawk = "${pkgs.gawk}/bin/awk"; + glow = "${pkgs.glow}/bin/glow"; + ffmpegthumbnailer = "${pkgs.ffmpegthumbnailer}/bin/ffmpegthumbnailer"; }; lf-sixel = pkgs.callPackage ../custom/lf-sixel/. { }; in @@ -76,10 +78,6 @@ in gtk = { enable = true; - theme = { - name = "Materia-dark"; - package = pkgs.materia-theme; - }; iconTheme = { name = "Vimix-Doder"; package = pkgs.vimix-icon-theme; @@ -117,34 +115,6 @@ in pkgs.mpvScripts.mpris ]; - programs.foot.settings = { - main = { - term = "xterm-256color"; - font = "mono:size=12"; - }; - colors = { - foreground = "abb2bf"; - background = "000000"; - regular0 = "222222"; - regular1 = "eb3a26"; - regular2 = "7fbc59"; - regular3 = "e9db65"; - regular4 = "4781d1"; - regular5 = "7d74bb"; - regular6 = "50a2bd"; - regular7 = "dcdccc"; - bright0 = "666666"; - bright1 = "e15d4e"; - bright2 = "8fbd73"; - bright3 = "e3d97e"; - bright4 = "6791ce"; - bright5 = "8f88be"; - bright6 = "6caabf"; - bright7 = "ffffff"; - alpha = 0.8; - }; - }; - programs.rbw = { enable = true; settings = { @@ -209,75 +179,77 @@ in }}''; }; programs.lf.previewer.source = pkgs.writeShellScript "preview" '' - image () { - ${my-deps.chafa} "$1" -f sixel -s "$(($2/2))x$3" | sed 's/#/\n#/g' - ${ my-deps.exiftool } "$1" - } + image () { + echo "$1" + ${my-deps.chafa} "$1" -f sixel -s "$(($2/2))x$3" | sed 's/#/\n#/g' + ${ my-deps.exiftool } "$1" + } - batted () { - cat "$@" - } + batted () { + cat "$@" + } + + mkdir -p "$HOME/.cache/lf" + CACHE="$HOME/.cache/lf/thumbnail.$(stat --printf '%n\0%i\0%F\0%s\0%W\0%Y' -- "$(readlink -f "$1")" | sha256sum | awk '{print $1}'))" - CACHE="$HOME/.cache/lf/thumbnail.$(stat --printf '%n\0%i\0%F\0%s\0%W\0%Y' -- "$(readlink -f "$1")" | sha256sum | awk '{print $1}'))" - - case "$(printf "%s\n" "$(readlink -f "$1")" | awk '{print tolower($0)}')" in - *.tgz|*.tar.gz) tar tzf "$1" ;; - *.tar.bz2|*.tbz2) tar tjf "$1" ;; - *.tar.txz|*.txz) xz --list "$1" ;; - *.tar) tar tf "$1" ;; - *.zip|*.jar|*.war|*.ear|*.oxt) unzip -l "$1" ;; - *.rar) unrar l "$1" ;; - *.md) glow -s dark "$1" ;; - *.7z) 7z l "$1" ;; - *.[1-8]) man "$1" | col -b ;; - *.o) nm "$1";; - *.torrent) transmission-show "$1" ;; - *.iso) iso-info --no-header -l "$1" ;; - *.odt|*.ods|*.odp|*.sxw) odt2txt "$1" ;; - *.doc) catdoc "$1" ;; - *.docx) docx2txt "$1" - ;; - *.xml|*.html) w3m -dump "$1";; - *.xls|*.xlsx) - ssconvert --export-type=Gnumeric_stf:stf_csv "$1" "fd://1" | batted --language=csv - ;; - *.wav|*.mp3|*.flac|*.m4a|*.wma|*.ape|*.ac3|*.og[agx]|*.spx|*.opus|*.as[fx]|*.mka) - ${ my-deps.exiftool } "$1" - ;; - *.pdf) - [ ! -f "$CACHE.jpg" ] && \ - pdftoppm -jpeg -f 1 -singlefile "$1" "$CACHE" - image "$CACHE.jpg" "$2" "$3" "$4" "$5" - ;; - *.epub) - [ ! -f "$CACHE" ] && \ - epub-thumbnailer "$1" "$CACHE" 1024 - image "$CACHE" "$2" "$3" "$4" "$5" - ;; - *.cbz|*.cbr|*.cbt) - [ ! -f "$CACHE" ] && \ - comicthumb "$1" "$CACHE" 1024 - image "$CACHE" "$2" "$3" "$4" "$5" - ;; - *.avi|*.mp4|*.wmv|*.dat|*.3gp|*.ogv|*.mkv|*.mpg|*.mpeg|*.vob|*.fl[icv]|*.m2v|*.mov|*.webm|*.ts|*.mts|*.m4v|*.r[am]|*.qt|*.divx) - [ ! -f "$CACHE.jpg" ] && \ - ffmpegthumbnailer -i "$1" -o "$CACHE.jpg" -s 0 -q 5 - image "$CACHE.jpg" "$2" "$3" "$4" "$5" - ;; - *.bmp|*.jpg|*.jpeg|*.png|*.xpm|*.webp|*.jfif) - image "$1" "$2" "$3" "$4" "$5" - ;; - *.svg) - [ ! -f "$CACHE.jpg" ] && \ - convert "$1" "$CACHE.jpg" - image "$CACHE.jpg" "$2" "$3" "$4" "$5" - ;; - *.ino) - batted --language=cpp "$1" - ;; - *) - batted "$1" - ;; - esac + case "$(printf "%s\n" "$(readlink -f "$1")" | awk '{print tolower($0)}')" in + *.tgz|*.tar.gz) tar tzf "$1" ;; + *.tar.bz2|*.tbz2) tar tjf "$1" ;; + *.tar.txz|*.txz) xz --list "$1" ;; + *.tar) tar tf "$1" ;; + *.zip|*.jar|*.war|*.ear|*.oxt) unzip -l "$1" ;; + *.rar) unrar l "$1" ;; + *.md) ${my-deps.glow} -s dark "$1" ;; + *.7z) 7z l "$1" ;; + *.[1-8]) man "$1" | col -b ;; + *.o) nm "$1";; + *.torrent) transmission-show "$1" ;; + *.iso) iso-info --no-header -l "$1" ;; + *.odt|*.ods|*.odp|*.sxw) odt2txt "$1" ;; + *.doc) catdoc "$1" ;; + *.docx) docx2txt "$1" - ;; + *.xml|*.html) w3m -dump "$1";; + *.xls|*.xlsx) + ssconvert --export-type=Gnumeric_stf:stf_csv "$1" "fd://1" | batted --language=csv + ;; + *.wav|*.mp3|*.flac|*.m4a|*.wma|*.ape|*.ac3|*.og[agx]|*.spx|*.opus|*.as[fx]|*.mka) + ${ my-deps.exiftool } "$1" + ;; + *.pdf) + [ ! -f "$CACHE.jpg" ] && \ + pdftoppm -jpeg -f 1 -singlefile "$1" "$CACHE" + image "$CACHE.jpg" "$2" "$3" "$4" "$5" + ;; + *.epub) + [ ! -f "$CACHE" ] && \ + epub-thumbnailer "$1" "$CACHE" 1024 + image "$CACHE" "$2" "$3" "$4" "$5" + ;; + *.cbz|*.cbr|*.cbt) + [ ! -f "$CACHE" ] && \ + comicthumb "$1" "$CACHE" 1024 + image "$CACHE" "$2" "$3" "$4" "$5" + ;; + *.avi|*.mp4|*.wmv|*.dat|*.3gp|*.ogv|*.mkv|*.mpg|*.mpeg|*.vob|*.fl[icv]|*.m2v|*.mov|*.webm|*.ts|*.mts|*.m4v|*.r[am]|*.qt|*.divx) + [ ! -f "$CACHE.jpg" ] && \ + ${my-deps.ffmpegthumbnailer} -i "$1" -o "$CACHE.jpg" -s 0 -q 5 + image "$CACHE.jpg" "$2" "$3" "$4" "$5" + ;; + *.bmp|*.jpg|*.jpeg|*.png|*.xpm|*.webp|*.jfif) + image "$1" "$2" "$3" "$4" "$5" + ;; + *.svg) + [ ! -f "$CACHE.jpg" ] && \ + convert "$1" "$CACHE.jpg" + image "$CACHE.jpg" "$2" "$3" "$4" "$5" + ;; + *.ino) + batted --language=cpp "$1" + ;; + *) + batted "$1" + ;; + esac ''; home.file.".icons/default".source = "${pkgs.vanilla-dmz}/share/icons/Vanilla-DMZ"; @@ -315,20 +287,6 @@ in } ] ''; - systemd.user.services = { - snapclient = { - Unit = { - Description = "Snapclient"; - }; - Service = { - ExecStart = "${pkgs.snapcast}/bin/snapclient -h music.local"; - }; - Install = { - WantedBy = ["graphical-session.target"]; - }; - }; - }; - services.kdeconnect = { enable = true; indicator = true; diff --git a/global/system.nix b/global/system.nix index e3b8b6f..a2f57d2 100644 --- a/global/system.nix +++ b/global/system.nix @@ -73,15 +73,15 @@ user: { config, pkgs, lib, ... }: services.xserver = { layout = lib.mkDefault "gb"; xkbOptions = "caps:escape"; -# extraLayouts = { -# mine = { -# description = "my layout"; -# languages = [ "eng" ]; -# symbolsFile = ./xkblayout; -# }; -# }; + # extraLayouts = { + # mine = { + # description = "my layout"; + # languages = [ "eng" ]; + # symbolsFile = ./xkblayout; + # }; + # }; }; - + hardware.opentabletdriver.enable = true; qt.enable = true; @@ -172,12 +172,12 @@ user: { config, pkgs, lib, ... }: boot.kernel.sysctl = { "net.ipv4.ip_unprivileged_port_start" = 53; }; - + services.tlp.enable = true; hardware.bluetooth.enable = true; services.blueman.enable = true; - + services.prometheus.exporters.node.enable = true; } diff --git a/hardware/displays.nix b/hardware/displays.nix index 06bd1e6..b81e8a7 100644 --- a/hardware/displays.nix +++ b/hardware/displays.nix @@ -14,9 +14,9 @@ } { name = "HDMI-A-1"; - resolution = {x=1920;y=1080;freq=60;}; + resolution = { x = 1920; y = 1080; freq = 60; }; position = { - x = 1920; + x = 1920; y = 0; }; wallpaper = "/home/tristan/Pictures/backgrounds/nier.jpg"; diff --git a/images/demonslayer.png b/images/demonslayer.png new file mode 100644 index 0000000..51b68eb Binary files /dev/null and b/images/demonslayer.png differ diff --git a/images/nier.jpg b/images/nier.jpg new file mode 100644 index 0000000..f832f96 Binary files /dev/null and b/images/nier.jpg differ diff --git a/lib/home.nix b/lib/home.nix index 0888779..92b4d5c 100644 --- a/lib/home.nix +++ b/lib/home.nix @@ -1,6 +1,5 @@ { user , name -, hyprland , work ? false , displays ? [ ] , userName @@ -35,5 +34,6 @@ roles.work.enable = work; roles.personal.enable = !work; roles.mpd.enable = true; + programs.editor.neovim = true; } diff --git a/lib/mkconf.nix b/lib/mkconf.nix index 13d667f..9f822ef 100644 --- a/lib/mkconf.nix +++ b/lib/mkconf.nix @@ -4,7 +4,6 @@ name: , home-manager , system , user -, hyprland , laptop ? false , work ? false , userName @@ -18,7 +17,7 @@ nixpkgs.lib.nixosSystem rec { modules = [ - ({inputs, pkgs, ...}: { + ({ inputs, pkgs, ... }: { programs.hyprland = { enable = true; package = inputs.hyprland.packages.${pkgs.system}.hyprland; @@ -30,14 +29,16 @@ nixpkgs.lib.nixosSystem rec { trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ]; }; } + inputs.stylix.nixosModules.stylix + ({ pkgs, ... }: { + stylix.image = ../images/demonslayer.png; + stylix.base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-hard.yaml"; + }) home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; - home-manager.users.${user}.imports = [ - hyprland.homeManagerModules.default - ]; } - (import ./home.nix { inherit user userName name hyprland laptop work; }) + (import ./home.nix { inherit inputs user userName name laptop work; }) ]; } diff --git a/lib/modules/editor.nix b/lib/modules/editor.nix index 43c082e..e9ef01d 100644 --- a/lib/modules/editor.nix +++ b/lib/modules/editor.nix @@ -5,7 +5,7 @@ let pkg = editor.package; terminal = config.programs.terminal.package; termcmd = "${terminal}/bin/${terminal.pname}"; - menu = config.programs.menu.package+config.programs.menu.dmenuCommand; + menu = config.programs.menu.package + config.programs.menu.dmenuCommand; in { options.programs = { @@ -23,21 +23,26 @@ in programs.vscode = { enable = true; package = editor.package; - extensions = with pkgs; [ - vscode-extensions.asvetliakov.vscode-neovim - ]; + extensions = + if editor.neovim then with pkgs; [ + vscode-extensions.asvetliakov.vscode-neovim + ] else [ ]; userSettings = { - "vscode-neovim.neovimExecutablePaths.linux" = "${pkgs.neovim}/bin/nvim"; "keyboard.dispatch" = "keyCode"; "terminal.integrated.sendKeybindingsToShell" = true; "aws.telemetry" = false; "gitlens.telemetry.enabled" = false; "redhat.telemetry.enabled" = false; "cSpell.language" = "en,en-GB"; - }; + } // (if editor.neovim then { + "vscode-neovim.neovimExecutablePaths.linux" = "${pkgs.neovim}/bin/nvim"; + "extensions.experimental.affinity" = { + "asvetliakov.vscode-neovim" = 1; + }; + } else { }); }; - programs.neovim = { + programs.neovim = mkIf editor.neovim { enable = true; defaultEditor = true; coc = { @@ -63,6 +68,7 @@ in vnoremap * y/\V=escape(@",'/\') vnoremap "ry:%s/=escape(@r,'/\') vnoremap A :norm A + noremap :CocCommand editor.action.formatDocument set number set rnu set ignorecase @@ -97,8 +103,8 @@ in esac ''; install = false; - hotkeys = [{key = "C";}]; + hotkeys = [{ key = "C"; }]; }]; }; - + } diff --git a/lib/modules/mpd.nix b/lib/modules/mpd.nix index a30e957..37ec040 100644 --- a/lib/modules/mpd.nix +++ b/lib/modules/mpd.nix @@ -6,7 +6,7 @@ in { options.roles.mpd = { enable = mkEnableOption "setup mpd client"; - host = mkOption {default = "music.local";}; + host = mkOption { default = "192.168.1.2"; }; }; config = mkIf cfg.enable { @@ -27,6 +27,21 @@ in enable = true; mpd.host = cfg.host; }; + programs.waybar.settings.mainBar.mpd.server = cfg.host; + systemd.user.services = { + snapclient = { + Unit = { + Description = "Snapclient"; + }; + Service = { + ExecStart = "${pkgs.snapcast}/bin/snapclient -h ${cfg.host}"; + }; + Install = { + WantedBy = [ "graphical-session.target" ]; + }; + }; + }; }]; }; + } diff --git a/lib/modules/personal.nix b/lib/modules/personal.nix index 5adfc21..9321905 100644 --- a/lib/modules/personal.nix +++ b/lib/modules/personal.nix @@ -16,17 +16,20 @@ with lib; roles.dev.enable = true; roles.gamer.enable = true; - i18n.defaultLocale = "eo.UTF-8"; i18n.supportedLocales = [ "eo/UTF-8" - "en_US.UTF-8/UTF-8" "en_GB.UTF-8/UTF-8" + "en_US.UTF-8/UTF-8" ]; - services.xserver.layout = "epo"; home-manager.users.${user}.imports = [{ services.nextcloud-client.enable = true; services.gnome-keyring.enable = true; + + home.language = { + base = "eo.UTF-8"; + }; + home.packages = with pkgs; [ godot_4 ardour @@ -34,6 +37,7 @@ with lib; musescore jellyfin-media-player monero-gui + electrum xmrig transmission-remote-gtk krita @@ -43,7 +47,7 @@ with lib; libsForQt5.neochat bookworm ]; - + }]; }; } diff --git a/lib/modules/wayland.nix b/lib/modules/wayland.nix index 4aa7fa0..7a61c10 100644 --- a/lib/modules/wayland.nix +++ b/lib/modules/wayland.nix @@ -238,9 +238,6 @@ in paused = "⏸️"; }; }; - mpd = { - server = "music.local"; - }; battery = { format = "{icon} {capacity}%"; format-icons = [ "🀏" "πŸͺ«" "πŸ”‹" "πŸ”‹" ];