diff --git a/common/boot.nix b/common/boot.nix new file mode 100644 index 0000000..6f8b666 --- /dev/null +++ b/common/boot.nix @@ -0,0 +1,12 @@ +{ config, pkgs, ... }: + +{ + boot.loader = { + systemd-boot = { + enable = true; + editor = false; + configurationLimit = 5; + }; + efi.canTouchEfiVariables = true; + }; +} \ No newline at end of file diff --git a/common/default.nix b/common/default.nix new file mode 100644 index 0000000..60a02bd --- /dev/null +++ b/common/default.nix @@ -0,0 +1,13 @@ +{ config, pkgs, ... }: + +{ + imports = [ + ./boot.nix + ./home-manager.nix + ./locales.nix + ./networking.nix + ./nix.nix + ./swap.nix + ./users.nix + ]; +} \ No newline at end of file diff --git a/common/desktop/default.nix b/common/desktop/default.nix new file mode 100644 index 0000000..20ea694 --- /dev/null +++ b/common/desktop/default.nix @@ -0,0 +1,301 @@ +{ config, pkgs, ... }: + +{ + hardware = { + bluetooth = { + enable = true; + powerOnBoot = true; + }; + + # mesa graphics library + graphics.enable = true; + }; + + # audio + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + security.rtkit.enable = true; + + # CUPS + services.printing.enable = true; + + # enable native wayland in chromium/electron + environment.sessionVariables.NIXOS_OZONE_WL = "1"; + + environment.systemPackages = with pkgs; [ + bitwarden + krita + gpu-screen-recorder-gtk + vlc + ]; + + # hard coded since i don't know a way to easily check a package's existence + home-manager.users.wo2w.home.file = { + ".local/share/applications/com.dec05eba.gpu_screen_recorder.desktop".text = '' + [Desktop Entry] + Categories=AudioVideo;Recorder; + Comment[en_US]=A gpu based screen recorder / streaming program + Comment=A gpu based screen recorder / streaming program + Exec=nvidia-offload gpu-screen-recorder-gtk + GenericName[en_US]=Screen recorder + GenericName=Screen recorder + Icon=com.dec05eba.gpu_screen_recorder + Keywords=gpu-screen-recorder;screen recorder;streaming;twitch;replay; + MimeType= + Name[en_US]=GPU Screen Recorder + Name=GPU Screen Recorder + Path= + StartupNotify=true + Terminal=false + TerminalOptions= + Type=Application + X-KDE-SubstituteUID=false + X-KDE-Username= + ''; + + ".local/share/applications/vlc.desktop".text = '' + [Desktop Entry] + Categories=AudioVideo;Player;Recorder; + Comment[en_US]=Read, capture, broadcast your multimedia streams + Comment=Read, capture, broadcast your multimedia streams + Comment[af]=Lees, vang, send u multimediastrome + Comment[am]=የ እርስዎን በርካታ መገናኛ ማንበቢያ: መያዣ ማስተላለፊያ + Comment[ar]=اقرأ ، التقط ، و بث تدفقات وسائطك المتعددة + Comment[as_IN]=আপোনাৰ মাল্টিমিডিয়া ষ্ট্ৰীমসমূহ পঢ়ক, কেপচাৰ কৰক, সম্প্ৰচাৰ কৰক + Comment[ast]=Llei, captura y emiti fluxos multimedia + Comment[az]=Multinedia axınlarını oxudun, yazın və yayımlayın + Comment[be]=Чытаць, лавіць і трансляваць мультымедыйныя патокі + Comment[bg]=Прочитане, прихващане и излъчване на мултимедийни потоци. + Comment[bn_BD]=আপনার মাল্টিমিডিয়া স্ট্রীম পড়ুন, ধরে রাখুন এবং ছড়িয়ে দিন + Comment[br]=Lenn, enrollañ, skignañ ho froudoù liesvedia + Comment[ca]=Reproduïu, captureu i emeteu fluxos multimèdia + Comment[co]=Leghje, cattura, diffonde i vostri flussi multimedia + Comment[cs]=Čtěte, zachytávejte, a vysílejte své multimediální proudy + Comment[cy]=Darllen, cipio a darlledu dy ffrydiau aml-gyfrwng + Comment[da]=Læs, indspil, transmittér dine multimediestreams + Comment[de]=Wiedergabe, Aufnahme und Verbreitung Ihrer Multimedia-Streams + Comment[el]=Διαβάστε, καταγράψτε, μεταδώστε τα πολυμέσα σας + Comment[en_GB]=Read, capture, broadcast your multimedia streams + Comment[es]=Lea, capture y emita sus contenidos multimedia + Comment[es_MX]=Lea, capture, emita sus transmisiones multimedia + Comment[et]=Multimeediafailide ja -voogude taasesitamine, lindistamine ja edastamine + Comment[eu]=Irakurri, hartu, igorri zure multimedia jarioak + Comment[fi]=Toista, tallenna ja lähetä multimediaa + Comment[fr]=Lit, capture, diffuse vos flux multimédias + Comment[fy]=Jo multimedia-streams lêze, opnimme en útstjoere + Comment[ga]=Léigh, gabh, craol do shruthanna ilmheán + Comment[gd]=Leugh, glac is craol sruthan ioma-mheadhain + Comment[gl]=Lea, capture e emita os seus fluxos multimedia + Comment[he]=קריאה, לכידה ושידור של תזרימי המולטימדיה שלך + Comment[hi]=अपनी मल्टीमीडिया स्ट्रीम को पढ़ें, रिकॉर्ड करें, प्रसारित करें + Comment[hu]=Multimédia adatfolyamok olvasása, felvétele és továbbítása + Comment[id]=Baca, tangkap, pancarkan/broadcast aliran multimedia + Comment[ie]=Leer, registrar e difuser vor fluvies multimedia + Comment[is]=Lesa, taka upp og útvarpa margmiðlunarstreymi + Comment[it]=Leggi, cattura, trasmetti i tuoi flussi multimediali + Comment[ja]=マルチメディアストリームの読み込み、キャプチャー、ブロードキャスト + Comment[ka]=გახსენით, გადაიღეთ, გაუშვით მედიაფაილები ეთერში + Comment[kab]=Ɣeṛ, ṭṭef agdil, suffeɣ-d isuddam n umidya-ik + Comment[km]=អាន ចាប់យក ប្រកាស​ស្ទ្រីម​ពហុមេឌៀ​របស់​អ្នក + Comment[ko]=당신의 멀티미디어 스트림을 캡쳐 및 방송 할 수 있습니다 + Comment[lt]=Groti, įrašyti, siųsti įvairialypės terpės kūrinius + Comment[lv]=Lasiet, tveriet un apraidiet savas multimediju straumes + Comment[ml]=നിങ്ങളുടെ മൾട്ടിമീഡിയ സ്ട്രീമുകൾ റീഡ് ചെയ്യുക, ക്യാപ്‌ചർ ചെയ്യുക, പ്രക്ഷേപണം ചെയ്യുക + Comment[mn]=Таны дамжуулгын урсгалыг унших, бичиж авах, цацах + Comment[mr]=आपले मल्टीमिडिया प्रवाह बघा, हस्तगत करा, प्रसारित करा + Comment[ms]=Baca, tangkap, siarkan strim multimedia anda + Comment[my]=သင်၏ မာတီမီဒီယာ တိုက်ရိုက်လွှင့်ပြ စီးကြောင်းများကို ဖတ်၊ ဖမ်းယူ၊ ထုတ်လွင့်ခြင်း + Comment[nb]=Innless, ta opp, og kringkast dine multimediastrømmer + Comment[ne]=पढ्नुहोस्, क्याप्चर गर्नुहोस्, तपाईंका मल्टिमिडिया स्ट्रिमहरू प्रसारण गर्नुहोस् + Comment[nl]=Uw multimedia-streams lezen, opnemen en uitzenden + Comment[nn]=Spel av, ta opp og send ut multimedia + Comment[oc]=Legissètz, capturatz, difusatz vòstres fluxes multimèdia + Comment[pa]=ਆਪਣੀ ਮਲਟੀਮੀਡਿਆ ਸਟਰੀਮ ਪੜ੍ਹੋ, ਕੈਪਚਰ ਤੇ ਬਰਾਡਕਾਸਟ ਕਰੋ + Comment[pl]=Odczytywanie, przechwytywanie i nadawanie strumieni multimedialnych + Comment[pt_BR]=Reproduza, capture e transmita os seus transmissões multimídia + Comment[pt_PT]=Ler, capturar, transmitir as suas emissões de multimédia + Comment[ro]=Citește, capturează, difuzează fluxurile multimedia + Comment[ru]=Универсальный проигрыватель видео и аудио + Comment[sc]=Leghe, catura, trasmite sos flussos multimediales tuos + Comment[sk]=Načítavajte, zaznamenávajte, vysielajte svoje multimediálne streamy + Comment[sl]=Berite, zajemite, oddajajte vaše večpredstavne pretoke + Comment[sq]=Lexoni, kapni dhe transmetoni transmetimet tuaja multimedia + Comment[sr]=Читај, хватај, емитуј своје мултимедијалне токове + Comment[sv]=Läs, fånga, sänd dina multimediaströmmar + Comment[te]=మీ బహుళమాధ్యమ ప్రవాహాలను చదువు, బంధించు మరియు ప్రసారం చేయి + Comment[th]=อ่าน จับ และถ่ายทอดสตรีมมัลติมีเดียของคุณ + Comment[tr]=Çoklu ortam akışlarınızı okuyun, yakalayın, yayınlayın + Comment[uk]=Читання, захоплення та поширення ваших мультимедійних потоків + Comment[vi]=Đọc, chụp, phát các luồng đa phương tiện của bạn + Comment[wa]=Lét, egaloye, evoye vos floûs multimedia + Comment[zh_CN]=读取、捕获、广播您的多媒体流 + Comment[zh_TW]=讀取、擷取與廣播您的多媒體串流 + Exec=env QT_SCALE_FACTOR=1.4 __NV_PRIME_RENDER_OFFLOAD=1 __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0 __GLX_VENDOR_LIBRARY_NAME=nvidia __VK_LAYER_NV_optimus=NVIDIA_only /nix/store/kd85dylgr1pj6h696qs553miaffhhp6n-vlc-3.0.21/bin/vlc --started-from-file %U + GenericName[en_US]=Media player + GenericName=Media player + GenericName[af]=Mediaspeler + GenericName[am]=የ መገናኛ ማጫወቻ + GenericName[ar]=مشغل الوسائط + GenericName[as_IN]=মিডিয়া প্লেয়াৰ + GenericName[ast]=Reproductor multimedia + GenericName[az]=Media pleyeri + GenericName[be]=Медыяпрайгравальнік + GenericName[bg]=Медиен плейър + GenericName[bn_BD]=মিডিয়া প্লেয়ার + GenericName[br]=Lenner mediaoù + GenericName[ca]=Reproductor multimèdia + GenericName[co]=Lettore multimedia + GenericName[cs]=Multimediální přehrávač + GenericName[cy]=Chwaraeydd cyfryngau + GenericName[da]=Medieafspiller + GenericName[de]=Medienwiedergabe + GenericName[el]=Αναπαραγωγός πολυμέσων + GenericName[en_GB]=Media player + GenericName[es]=Reproductor multimedia + GenericName[es_MX]=Reproductor multimedia + GenericName[et]=Meediaesitaja + GenericName[eu]=Multimedia irakurgailua + GenericName[fi]=Mediasoitin + GenericName[fr]=Lecteur multimédia + GenericName[fy]=Mediaspiler + GenericName[ga]=Seinnteoir meán + GenericName[gd]=Cluicheadair mheadhanan + GenericName[gl]=Reprodutor multimedia + GenericName[he]=נגן מדיה + GenericName[hi]=मीडिया प्लेयर + GenericName[hu]=Médialejátszó + GenericName[id]=Pemutar Media + GenericName[ie]=Reproductor de media + GenericName[is]=Margmiðlunarspilari + GenericName[it]=Lettore multimediale + GenericName[ja]=メディアプレイヤー + GenericName[ka]=მედიაფაილების დამკვრელი + GenericName[kab]=Imeɣri n umidya + GenericName[km]=កម្មវិធី​ចាក់​មេឌៀ + GenericName[ko]=미디어 플레이어 + GenericName[lt]=Leistuvė + GenericName[lv]=Mediju atskaņotājs + GenericName[ml]=മീഡിയ പ്ലെയർ + GenericName[mn]=Дамжуулга тоглуулагч + GenericName[mr]=मीडिया प्लेअर + GenericName[ms]=Pemain media + GenericName[my]=မီဒီယာ ပြစက် + GenericName[nb]=Mediespiller + GenericName[ne]=मिडिया प्लेयर + GenericName[nl]=Mediaspeler + GenericName[nn]=Mediespelar + GenericName[oc]=Lector multimèdia + GenericName[pa]=ਮੀਡਿਆ ਪਲੇਅਰ + GenericName[pl]=Odtwarzacz multimedialny + GenericName[pt_BR]=Reprodutor de Mídias + GenericName[pt_PT]=Reprodutor de multimédia + GenericName[ro]=Redor media + GenericName[ru]=Медиаплеер + GenericName[sc]=Leghidore multimediale + GenericName[sk]=Prehrávač médií + GenericName[sl]=Predvajalnik predstavnih vsebin + GenericName[sq]=Lexues Media + GenericName[sr]=Медијски плејер + GenericName[sv]=Mediaspelare + GenericName[te]=మాధ్యమ ప్రదర్శకం + GenericName[th]=โปรแกรมเล่นสื่อ + GenericName[tr]=Ortam oynatıcısı + GenericName[uk]=Медіапрогравач + GenericName[vi]=Trình phát Media + GenericName[wa]=Djouweu d' media + GenericName[zh_CN]=媒体播放器 + GenericName[zh_TW]=媒體播放器 + Icon=vlc + Keywords=Player;Capture;DVD;Audio;Video;Server;Broadcast; + MimeType=x-content/video-vcd;x-content/video-svcd;x-content/video-dvd;x-content/audio-player;x-content/audio-cdda;video/x-theora+ogg;video/x-theora+ogg;video/x-ogm+ogg;video/x-ogm+ogg;video/x-nsv;video/x-ms-wmv;video/x-matroska;video/x-flv;video/x-flv;video/x-flv;video/x-flic;video/x-flic;video/x-anim;video/webm;video/vnd.rn-realvideo;video/vnd.mpegurl;video/vnd.avi;video/vnd.avi;video/vnd.avi;video/vnd.avi;video/vnd.avi;video/vnd.avi;video/quicktime;video/ogg;video/mpeg;video/mpeg;video/mpeg;video/mpeg;video/mpeg;video/mp4;video/mp4;video/mp4;video/mp2t;video/dv;video/3gpp2;video/3gpp2;video/3gpp;video/3gpp;video/3gpp;text/x-google-video-pointer;text/x-google-video-pointer;image/vnd.rn-realpix;audio/x-xm;audio/x-wavpack;audio/x-vorbis+ogg;audio/x-vorbis+ogg;audio/x-vorbis+ogg;audio/x-tta;audio/x-speex;audio/x-scpls;audio/x-scpls;audio/x-s3m;audio/x-musepack;audio/x-ms-wma;audio/x-ms-asx;audio/x-ms-asx;audio/x-ms-asx;audio/x-mpegurl;audio/x-mpegurl;audio/x-mod;audio/x-matroska;audio/x-it;audio/x-gsm;audio/x-ape;audio/x-aiff;audio/x-adpcm;audio/webm;audio/vnd.wave;audio/vnd.wave;audio/vnd.rn-realaudio;audio/vnd.rn-realaudio;audio/vnd.dts.hd;audio/vnd.dts;audio/ogg;audio/mpeg;audio/mpeg;audio/mpeg;audio/mpeg;audio/mpeg;audio/mp4;audio/mp4;audio/mp4;audio/mp2;audio/mp2;audio/midi;audio/flac;audio/flac;audio/basic;audio/AMR-WB;audio/AMR;audio/ac3;audio/aac;audio/aac;application/xspf+xml;application/x-shorten;application/x-quicktime-media-link;application/x-quicktime-media-link;application/x-matroska;application/vnd.rn-realmedia;application/vnd.rn-realmedia;application/vnd.ms-wpl;application/vnd.ms-asf;application/vnd.ms-asf;application/vnd.ms-asf;application/vnd.ms-asf;application/vnd.efi.iso;application/vnd.apple.mpegurl;application/vnd.adobe.flash.movie;application/sdp;application/ram;application/ogg;application/ogg;application/mxf; + Name[en_US]=VLC media player + Name=VLC media player + Name[af]=VLC-mediaspeler + Name[am]=የ ቪኤልሲ መገናኛ ማጫወቻ + Name[ar]=مشغل الوسائط VLC + Name[as_IN]=VLC মিডিয়া প্লেয়াৰ + Name[ast]=Reproductor multimedia VLC + Name[az]=VLC media pleyeri + Name[be]=Медыяпрайгравальнік VLC + Name[bg]=Медиен плейър VLC + Name[bn_BD]=VLC মিডিয়া প্লেয়ার + Name[br]=VLC lenner mediaoù + Name[ca]=Reproductor multimèdia VLC + Name[co]=Lettore multimedia VLC + Name[cs]=Multimediální přehrávač VLC + Name[cy]=Chwaraeydd VLC + Name[da]=VLC media player + Name[de]=VLC Media Player + Name[el]=Αναπαραγωγός πολυμέσων VLC + Name[en_GB]=VLC media player + Name[es]=Reproductor multimedia VLC + Name[es_MX]=Reproductor multimedia VLC + Name[et]=VLC meediaesitaja + Name[eu]=VLC multimedia-erreproduzigailua + Name[fi]=VLC-mediasoitin + Name[fr]=Lecteur multimédia VLC + Name[fy]=VLC media player + Name[ga]=Seinnteoir meán VLC + Name[gd]=Cluicheadair mheadhanan VLC + Name[gl]=Reprodutor multimedia VLC + Name[he]=נגן המדיה VLC + Name[hi]=वीएलसी मीडिया प्लेयर + Name[hu]=VLC médialejátszó + Name[id]=Pemutar media VLC + Name[ie]=Reproductor de media VLC + Name[is]=VLC spilarinn + Name[it]=Lettore multimediale VLC + Name[ja]=VLCメディアプレイヤー + Name[ka]=VLC მედიადამკვრელი + Name[kab]=Imeɣri n umidya VLC + Name[km]=កម្មវិធី​ចាក់​មេឌៀ VLC + Name[ko]=VLC 미디어 플레이어 + Name[lt]=VLC leistuvė + Name[lv]=VLC mediju atskaņotājs + Name[ml]=VLC മീഡിയ പ്ലെയർ + Name[mn]=VLC дамжуулга тоглуулагч + Name[mr]=VLC मीडिया प्लेअर + Name[ms]=Pemain media VLC + Name[my]=VLC မီဒီယာ ပြစက် + Name[nb]=VLC media player + Name[ne]=VLC मिडिया प्लेयर + Name[nl]=VLC media player + Name[nn]=VLC mediespelar + Name[oc]=Lector multimèdia VLC + Name[pa]=VLC ਮੀਡਿਆ ਪਲੇਅਰ + Name[pl]=VLC media player + Name[pt_BR]=Reprodutor de Mídias VLC + Name[pt_PT]=VLC media player + Name[ro]=Redor media VLC + Name[ru]=Медиаплеер VLC + Name[sc]=Leghidore multimediale VLC + Name[sk]=VLC media player + Name[sl]=Predvajalnik VLC + Name[sq]=VLC lexues media + Name[sr]=ВЛЦ медијски плејер + Name[sv]=VLC media player + Name[te]=VLC మాధ్యమ ప్రదర్శకం + Name[th]=โปรแกรมเล่นสื่อ VLC + Name[tr]=VLC ortam oynatıcısı + Name[uk]=Медіапрогравач VLC + Name[vi]=Trình phát media VLC + Name[wa]=Djouweu d' media VLC + Name[zh_CN]=VLC 媒体播放器 + Name[zh_TW]=VLC 媒體播放器 + Path= + StartupNotify=true + Terminal=false + TerminalOptions= + TryExec=/nix/store/kd85dylgr1pj6h696qs553miaffhhp6n-vlc-3.0.21/bin/vlc + Type=Application + Version=1.0 + X-KDE-Protocols=ftp,http,https,mms,rtmp,rtsp,sftp,smb + X-KDE-SubstituteUID=false + X-KDE-Username= + ''; + }; +} \ No newline at end of file diff --git a/common/home-manager.nix b/common/home-manager.nix new file mode 100644 index 0000000..9711511 --- /dev/null +++ b/common/home-manager.nix @@ -0,0 +1,18 @@ +{ inputs, config, ... }: + +{ + imports = [ inputs.home-manager.nixosModules.home-manager ]; + + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + backupFileExtension = "bak"; + extraSpecialArgs = { inherit inputs; }; + users.wo2w = { + home = { + username = "wo2w"; + homeDirectory = "/home/wo2w"; + }; + }; + }; +} \ No newline at end of file diff --git a/common/locales.nix b/common/locales.nix new file mode 100644 index 0000000..7ab37f1 --- /dev/null +++ b/common/locales.nix @@ -0,0 +1,26 @@ +{ config, pkgs, ... }: + +{ + i18n = { + defaultLocale = "en_US.UTF-8"; + extraLocaleSettings = { + LC_ADDRESS = "en_US.UTF-8"; + LC_IDENTIFICATION = "en_US.UTF-8"; + LC_MEASUREMENT = "en_US.UTF-8"; + LC_MONETARY = "en_US.UTF-8"; + LC_NAME = "en_US.UTF-8"; + LC_NUMERIC = "en_US.UTF-8"; + LC_PAPER = "en_US.UTF-8"; + LC_TELEPHONE = "en_US.UTF-8"; + LC_TIME = "en_US.UTF-8"; + }; + }; + + time.timeZone = "America/New_York"; + + # x11 keymap + services.xserver.xkb = { + layout = "us"; + variant = ""; + }; +} \ No newline at end of file diff --git a/common/networking.nix b/common/networking.nix new file mode 100644 index 0000000..e8f1c4c --- /dev/null +++ b/common/networking.nix @@ -0,0 +1,8 @@ +{ hostName, config, ... }: + +{ + networking = { + networkmanager.enable = true; + hostName = "${hostName}"; + }; +} \ No newline at end of file diff --git a/common/nix.nix b/common/nix.nix new file mode 100644 index 0000000..d7ff49e --- /dev/null +++ b/common/nix.nix @@ -0,0 +1,18 @@ +{ config, pkgs, ... }: + +{ + nix = { + channel.enable = false; + gc.automatic = true; + optimise = { + automatic = true; + dates = [ "weekly" ]; + }; + settings = { + experimental-features = [ "nix-command" "flakes" ]; + download-buffer-size = 524288000; + }; + }; + + nixpkgs.config.allowUnfree = true; +} \ No newline at end of file diff --git a/common/swap.nix b/common/swap.nix new file mode 100644 index 0000000..00ab84b --- /dev/null +++ b/common/swap.nix @@ -0,0 +1,8 @@ +{ config, ... }: + +{ + swapDevices = [ { + device = "/var/swapfile"; + size = 16*1024; + } ]; +} \ No newline at end of file diff --git a/common/users.nix b/common/users.nix new file mode 100644 index 0000000..a58e0b3 --- /dev/null +++ b/common/users.nix @@ -0,0 +1,12 @@ +{ hostName, config, ... }: + +{ + users.users.wo2w = { + isNormalUser = true; + description = "${hostName}"; + extraGroups = [ "networkmanager" "wheel" ]; + + # make new user logins (iso/vm/new machine) use a default password + initialPassword = "1234"; + }; +} \ No newline at end of file diff --git a/configuration.nix b/configuration.nix deleted file mode 100644 index 4fcf5e2..0000000 --- a/configuration.nix +++ /dev/null @@ -1,260 +0,0 @@ -# Edit this configuration file to define what should be installed on -# your system. Help is available in the configuration.nix(5) man page -# and in the NixOS manual (accessible by running ‘nixos-help’). - -{ config, lib, pkgs, ... }: - -{ - # pin the latest nvidia driver that works because they are so awesome in releasing an update that broke opengl for my 1050ti - hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.mkDriver { - version = "570.144"; - sha256_64bit = "sha256-wLjX7PLiC4N2dnS6uP7k0TI9xVWAJ02Ok0Y16JVfO+Y="; - sha256_aarch64 = "sha256-6kk2NLeKvG88QH7/YIrDXW4sgl324ddlAyTybvb0BP0="; - openSha256 = "sha256-PATw6u6JjybD2OodqbKrvKdkkCFQPMNPjrVYnAZhK/E="; - settingsSha256 = "sha256-VcCa3P/v3tDRzDgaY+hLrQSwswvNhsm93anmOhUymvM="; - persistencedSha256 = "sha256-hx4w4NkJ0kN7dkKDiSOsdJxj9+NZwRsZEuhqJ5Rq3nM="; - }; - - # enable yubikey auth - security.pam.services = { - login.u2fAuth = true; - sudo.u2fAuth = true; - sddm = { - u2fAuth = true; - kwallet.enable = true; - }; - kde.u2fAuth = true; - # kde popups - polkit-1.u2fAuth = true; - }; - - # Bootloader. - boot.loader = { - systemd-boot = { - enable = true; - editor = false; - configurationLimit = 5; - }; - efi.canTouchEfiVariables = true; - }; - - # swap - swapDevices = [ { - device = "/var/swapfile"; - size = 16*1024; - } ]; - - # systemd timers - systemd.timers = { - "autoUpgrade" = { - wantedBy = [ "timers.target" ]; - timerConfig = { - OnCalendar = "*-*-* 3:30:00"; - Unit = "autoUpgrade.service"; - }; - }; - -# "rsync" = { -# wantedBy = [ "timers.target" ]; -# timerConfig = { -# OnCalendar = "*-*-* 4:00:00"; -# Unit = "rsync.service"; -# }; -# }; - }; - - systemd.services = { -# "rsync" = { -# script = '' ${pkgs.bash}/bin/bash /home/wo2w/Scripts/rsync.sh ''; -# serviceConfig = { -# Type = "oneshot"; -# User = "root"; -# }; -# }; - - "autoUpgrade" = { - wants = [ "network-online.target" ]; - after = [ "network-online.target" ]; - script = '' /usr/bin/env -C /etc/nixos ${pkgs.nix}/bin/nix flake update ''; - serviceConfig = { - Type = "oneshot"; - User = "root"; - }; - }; - }; - - # nix config - nix = { - gc.automatic = true; - optimise.automatic = true; - settings = { - experimental-features = [ "nix-command" "flakes" ]; - download-buffer-size = 524288000; - }; - }; - - # Allow unfree packages - nixpkgs.config.allowUnfree = true; - - # Enable networking - networking = { - networkmanager.enable = true; - hostName = "Ares"; # Define your hostname. - }; - - # Set your time zone. - time.timeZone = "America/New_York"; - - # Location (real) - location = { - latitude = 71.8260798; - longitude = 91.0350983; - }; - - # Select internationalisation properties. - i18n = { - defaultLocale = "en_US.UTF-8"; - extraLocaleSettings = { - LC_ADDRESS = "en_US.UTF-8"; - LC_IDENTIFICATION = "en_US.UTF-8"; - LC_MEASUREMENT = "en_US.UTF-8"; - LC_MONETARY = "en_US.UTF-8"; - LC_NAME = "en_US.UTF-8"; - LC_NUMERIC = "en_US.UTF-8"; - LC_PAPER = "en_US.UTF-8"; - LC_TELEPHONE = "en_US.UTF-8"; - LC_TIME = "en_US.UTF-8"; - }; - }; - - # Enable the X11 windowing system. - # You can disable this if you're only using the Wayland session. - services.xserver.enable = true; - - # Enable the KDE Plasma Desktop Environment. - services.displayManager.sddm = { - enable = true; - wayland = { - enable = true; - compositor = "kwin"; - }; - }; - services.desktopManager.plasma6.enable = true; - programs.niri.enable = true; - - # Configure keymap in X11 - services.xserver.xkb = { - layout = "us"; - variant = ""; - }; - - # Enable sound with pipewire. + bluetooth - hardware.bluetooth.enable = true; - hardware.bluetooth.powerOnBoot = true; - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - }; - - # libratbag for mouse config - services.ratbagd.enable = true; - - users.users.wo2w = { - isNormalUser = true; - description = "Ares"; - extraGroups = [ "networkmanager" "wheel" ]; - }; - - # List packages installed in system profile. To search, run: - # $ nix search wget - environment.systemPackages = with pkgs; [ - # utilities - wget - xautomation - cameractrls - kdePackages.ksshaskpass - # for niri - fuzzel - mako - waybar - xwayland-satellite -# gamemode -# adb -# ratbagd - # graphical applications -# adb -# steam -# kdeconnect - ]; - - # exclude some kde packages - environment.plasma6.excludePackages = with pkgs.kdePackages; [ - elisa - discover - konsole - khelpcenter - krdp - ]; - - programs = { - adb.enable = true; - gamemode.enable = true; - kdeconnect.enable = true; - steam = { - enable = true; - extraCompatPackages = [ pkgs.proton-ge-bin ]; - }; - }; - - stylix = { - enable = true; - base16Scheme = "${pkgs.base16-schemes}/share/themes/tokyo-night-dark.yaml"; - targets = { - fontconfig.enable = false; - font-packages.enable = false; - }; - fonts.sizes = { - applications = 12; - desktop = 10; - popups = 10; - terminal = 12; - }; - }; - - services = { - # CUPS for printing - printing.enable = true; - }; - - # enable native wayland in chromium/electron - environment.sessionVariables.NIXOS_OZONE_WL = "1"; - - # ssh - programs.ssh = { - startAgent = true; - enableAskPassword = true; - extraConfig = " - Host gameserver - Hostname 192.168.2.221 - Port 22 - User wo2w - IdentityFile /home/wo2w/.ssh/ssh-key - "; - }; - - environment.variables = { - SSH_ASKPASS_REQUIRE = "prefer"; - }; - - # This value determines the NixOS release from which the default - # settings for stateful data, like file locations and database versions - # on your system were taken. It‘s perfectly fine and recommended to leave - # this value at the release version of the first install of this system. - # Before changing this value read the documentation for this option - # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). - system.stateVersion = "24.11"; # Did you read the comment? - -} diff --git a/flake.lock b/flake.lock index fa61994..83287a2 100644 --- a/flake.lock +++ b/flake.lock @@ -144,11 +144,11 @@ ] }, "locked": { - "lastModified": 1752391422, - "narHash": "sha256-ReX0NG6nIAEtQQjLqeu1vUU2jjZuMlpymNtb4VQYeus=", + "lastModified": 1752780124, + "narHash": "sha256-5dn97vIYxn6VozKePOQSDxVCsrl38nDdMJXx86KIJH0=", "owner": "nix-community", "repo": "home-manager", - "rev": "c26266790678863cce8e7460fdbf0d80991b1906", + "rev": "c718918222bdb104397762dea67e6b397a7927fe", "type": "github" }, "original": { @@ -160,11 +160,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1752048960, - "narHash": "sha256-gATnkOe37eeVwKKYCsL+OnS2gU4MmLuZFzzWCtaKLI8=", + "lastModified": 1752666637, + "narHash": "sha256-P8J72psdc/rWliIvp8jUpoQ6qRDlVzgSDDlgkaXQ0Fw=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "7ced9122cff2163c6a0212b8d1ec8c33a1660806", + "rev": "d1bfa8f6ccfb5c383e1eba609c1eb67ca24ed153", "type": "github" }, "original": { @@ -176,11 +176,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1752162966, - "narHash": "sha256-3MxxkU8ZXMHXcbFz7UE4M6qnIPTYGcE/7EMqlZNnVDE=", + "lastModified": 1752620740, + "narHash": "sha256-f3pO+9lg66mV7IMmmIqG4PL3223TYMlnlw+pnpelbss=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "10e687235226880ed5e9f33f1ffa71fe60f2638a", + "rev": "32a4e87942101f1c9f9865e04dc3ddb175f5f32e", "type": "github" }, "original": { @@ -208,11 +208,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1751984180, - "narHash": "sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X+xgOL0=", + "lastModified": 1752687322, + "narHash": "sha256-RKwfXA4OZROjBTQAl9WOZQFm7L8Bo93FQwSJpAiSRvo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9807714d6944a957c2e036f84b0ff8caf9930bc0", + "rev": "6e987485eb2c77e5dcc5af4e3c70843711ef9251", "type": "github" }, "original": { @@ -325,11 +325,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1752373703, - "narHash": "sha256-kJEYMaZYMBDDjUBLwI4u+OEwRwYaumKjrhCVFu2zfMs=", + "lastModified": 1752752240, + "narHash": "sha256-qSQ6oIJeIb5MX6LRszgqQYB46FOHemKrvrdzf2u+uxM=", "owner": "nix-community", "repo": "stylix", - "rev": "8d803bb9de0a762299142ffbe6c969c904f70b92", + "rev": "40f40bda4269f6e5490c25975069dc61aede6d52", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index c2c77c4..3a8a534 100644 --- a/flake.nix +++ b/flake.nix @@ -1,5 +1,5 @@ { - description = "GraalVM Java 17/21, Spotify, and Home Manager"; + description = "all this does now is pass inputs to other modules and set the system variable"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05"; @@ -41,45 +41,18 @@ stylix, ... }@inputs: - let + let system = "x86_64-linux"; - - # define overlays - nixpkgs-pin-overlay = final: prev: { - nixpkgs-pin = nixpkgs-pin.legacyPackages.${prev.system}; - }; - - overlay-unstable = final: prev: { - unstable = import nixpkgs-unstable { - inherit system; - config.allowUnfree = true; + nixosSystem = + hostName: + nixpkgs.lib.nixosSystem { + specialArgs = { inherit hostName inputs system; }; + modules = [ ./hosts/${hostName} ]; }; - }; in { - nixosConfigurations.Ares = nixpkgs.lib.nixosSystem { - inherit system; - modules = [ - # make nixpkgs-pin and unstable available in configuration.nix - ({ config, pkgs, ... }: { nixpkgs.overlays = [ nixpkgs-pin-overlay ]; }) - ({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; }) - - ./hardware-configuration.nix - ./configuration.nix - - nixos-hardware.nixosModules.dell-xps-15-9570-nvidia - home-manager.nixosModules.home-manager - stylix.nixosModules.stylix - - { - home-manager = { - useGlobalPkgs = true; - useUserPackages = true; - users.wo2w = import ./home.nix; - backupFileExtension = "bak"; - extraSpecialArgs = { inherit inputs; }; - }; - } - ]; + nixosConfigurations = { + Swordsmachine = nixosSystem "Swordsmachine"; + Earthmover = nixosSystem "Earthmover"; }; }; } diff --git a/home.nix b/home.nix deleted file mode 100644 index 389eb98..0000000 --- a/home.nix +++ /dev/null @@ -1,974 +0,0 @@ -{ config, pkgs, inputs, ... }: - -{ - # link the configuration file in current directory to the specified location in home directory - # home.file.".config/i3/wallpaper.jpg".source = ./wallpaper.jpg; - - # link all files in `./scripts` to `~/.config/i3/scripts` - # home.file.".config/i3/scripts" = { - # source = ./scripts; - # recursive = true; # link recursively - # executable = true; # make all files executable - # }; - - imports = [ - inputs.spicetify-nix.homeManagerModules.default - inputs.plasma-manager.homeManagerModules.plasma-manager - ]; - - home.packages = with pkgs; [ - vlc - krita - gpu-screen-recorder-gtk - bitwarden - heroic - qtscrcpy - (prismlauncher.override { - # Change Java runtimes available to Prism Launcher - jdks = [ - jdk8 - unstable.graalvmPackages.graalvm-oracle_17 - nixpkgs-pin.graalvm-ce - ]; - }) - grayjay -# kitty -# vesktop -# spicetify - ]; - - stylix = { - enable = true; - targets = { - spicetify.enable = false; - vesktop.enable = false; - vscode.enable = false; - librewolf.profileNames = [ "wo2w" ]; - fontconfig.enable = false; - font-packages.enable = false; - }; - }; - - programs = { - bash = { - enable = true; - shellAliases = { - switch = "sudo nixos-rebuild switch"; - boot = "sudo nixos-rebuild boot"; - }; - }; - - git = { - enable = true; - userName = "wo2wz"; - userEmail = "189177184+wo2wz@users.noreply.github.com"; - extraConfig = { - init.defaultBranch = "main"; - safe.directory = "/etc/nixos"; - }; - }; - - librewolf = { - enable = true; - nativeMessagingHosts = [ pkgs.kdePackages.plasma-browser-integration ]; - settings = { - "identity.fxaccounts.enabled" = true; - "clipboard.autocopy" = false; - }; - policies = { - DefaultDownloadDirectory = "\${home}/Downloads"; - - ExtensionSettings = with builtins; let - extension = shortId: uuid: { - name = uuid; - value = { - install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi"; - installation_mode = "normal_installed"; - }; - }; - in - listToAttrs [ - (extension "bitwarden-password-manager" "{446900e4-71c2-419f-a6a7-df9c091e268b}") - (extension "clearurls" "{74145f27-f039-47ce-a470-a662b129930a}") - (extension "darkreader" "addon@darkreader.org") - (extension "decentraleyes" "jid1-BoFifL9Vbdl2zQ@jetpack") - (extension "happy-bonobo-disable-webrtc" "jid1-5Fs7iTLscUaZBgwr@jetpack") - (extension "enhancer-for-youtube" "enhancerforyoutube@maximerf.addons.mozilla.org") - (extension "private-relay" "private-relay@firefox.com") - (extension "indie-wiki-buddy" "{cb31ec5d-c49a-4e5a-b240-16c767444f62}") - (extension "libredirect" "7esoorv3@alefvanoon.anonaddy.me") - (extension "plasma-integration" "plasma-browser-integration@kde.org") - (extension "privacy-badger17" "jid1-MnnxcxisBPnSXQ@jetpack") - (extension "return-youtube-dislikes" "{762f9885-5a13-4abd-9c77-433dcd38b8fd}") - (extension "ublock-origin" "uBlock0@raymondhill.net") - ]; - }; - profiles.wo2w = { - search = { - force = true; - default = "ddg"; - privateDefault = "ddg"; - }; - settings = { - "browser.urlbar.suggest.history" = false; - "browser.urlbar.suggest.bookmark" = false; - "browser.urlbar.suggest.openpage" = false; - "browser.urlbar.suggest.topsites" = false; - "browser.urlbar.suggest.recentsearches" = false; - "browser.startup.page" = 3; - - "network.trr.mode" = 2; - "network.trr.uri" = "https://base.dns.mullvad.net/dns-query"; - "network.trr.custom_uri" = "https://base.dns.mullvad.net/dns-query"; - - "privacy.clearHistory.formdata" = true; - "privacy.clearHistory.siteSettings" = false; - "privacy.clearOnShutdown.cache" = false; - "privacy.clearOnShutdown.cookies" = false; - "privacy.clearOnShutdown.sessions" = false; - "privacy.donottrackheader.enabled" = true; - - "widget.use-xdg-desktop-portal.file-picker" = 1; - }; - }; - }; - - plasma = { - enable = true; - workspace.cursor = { - theme = "Bibata-Modern-Classic"; - size = 24; - }; - - }; - - spicetify = - let - spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.stdenv.system}; - in { - enable = true; - theme = { - name = "Tokyo"; - src = pkgs.fetchFromGitHub { - owner = "evening-hs"; - repo = "Spotify-Tokyo-Night-Theme"; - rev = "d88ca06eaeeb424d19e0d6f7f8e614e4bce962be"; - hash = "sha256-cLj9v8qtHsdV9FfzV2Qf4pWO8AOBXu51U/lUMvdEXAk="; - }; - }; - colorScheme = "Night"; - enabledExtensions = with spicePkgs.extensions; [ - adblock - hidePodcasts - shuffle - volumePercentage - history - ]; - }; - - kitty = { - enable = true; - shellIntegration.enableBashIntegration = true; - settings = { - tab_bar_style = "powerline"; - tab_powerline_style = "round"; - confirm_os_window_close = -1; - }; - }; - - vesktop = { - enable = true; - vencord.settings = { - themeLinks = [ "https://catppuccin.github.io/discord/dist/catppuccin-mocha.theme.css" ]; - enabledThemes = [ "catppuccin-mocha.theme.css" ]; - plugins = { - ChatInputButtonAPI.enabled = true; - CommandsAPI.enabled = true; - DynamicImageModalAPI.enabled = true; - MessageAccessoriesAPI.enabled = true; - MessageEventsAPI.enabled = true; - MessagePopoverAPI.enabled = true; - MessageUpdaterAPI.enabled = true; - UserSettingsAPI.enabled = true; - BetterGifPicker.enabled = true; - BetterUploadButton.enabled = true; - BiggerStreamPreview.enabled = true; - CallTimer = { - enabled = true; - format = "stopwatch"; - }; - ClearURLs.enabled = true; - CopyFileContents.enabled = true; - CrashHandler.enabled = true; - Experiments = { - enabled = true; - toolbarDevMenu = false; - }; - FakeNitro = { - enabled = true; - enableStickerBypass = true; - enableStreamQualityBypass = true; - enableEmojiBypass = true; - transformEmojis = true; - transformStickers = true; - transformCompoundSentence = false; - stickerSize = 160; - hyperLinkText = "{{NAME}}"; - useHyperLinks = true; - disableEmbedPermissionCheck = false; - emojiSize = 48; - }; - FixYoutubeEmbeds.enabled = true; - MessageLogger = { - enabled = true; - collapseDeleted = false; - deleteStyle = "overlay"; - ignoreBots = false; - ignoreSelf = false; - ignoreUsers = ""; - ignoreChannels = ""; - ignoreGuilds = ""; - logEdits = true; - logDeletes = true; - inlineEdits = true; - }; - OpenInApp = { - enabled = true; - spotify = true; - steam = true; - epic = false; - tidal = false; - itunes = false; - }; - PreviewMessage.enabled = true; - RelationshipNotifier = { - enabled = true; - notices = true; - offlineRemovals = true; - friends = true; - friendRequestCancels = true; - servers = true; - groups = true; - }; - ReplaceGoogleSearch = { - enabled = true; - customEngineName = "DuckDuckGo"; - customEngineURL = "https://duckduckgo.com/&q="; - }; - ReverseImageSearch.enabled = true; - ServerInfo.enabled = true; - ShowHiddenChannels = { - enabled = true; - showMode = 0; - hideUnreads = true; - defaultAllowedUsersAndRolesDropdownState = true; - }; - SpotifyCrack = { - enabled = true; - noSpotifyAutoPause = true; - keepSpotifyActivityOnIdle = false; - }; - Translate = { - enabled = true; - showChatBarButton = true; - service = "google"; - deeplApiKey = ""; - autoTranslate = false; - showAutoTranslateTooltip = true; - }; - ValidReply.enabled = true; - ValidUser.enabled = true; - VoiceDownload.enabled = true; - VoiceMessages.enabled = true; - VolumeBooster = { - enabled = true; - multiplier = 5; - }; - WebKeybinds.enabled = true; - WebScreenShareFixes.enabled = true; - YoutubeAdblock.enabled = true; - BadgeAPI.enabled = true; - NoTrack = { - enabled = true; - disableAnalytics = true; - }; - WebContextMenus = { - enabled = true; - addBack = true; - }; - Settings = { - enabled = true; - settingsLocation = "aboveNitro"; - }; - SupportHelper.enabled = true; - DisableDeepLinks.enabled = true; - }; - }; - }; - - vscode = { - enable = true; - package = pkgs.vscodium; - profiles.wo2w = { - extensions = with pkgs.vscode-extensions; [ - # theme - enkia.tokyo-night - # language extensions - jnoortheen.nix-ide - ]; - }; - }; - }; - - home.file = { - # symlink for plasma browser integration native messaging in librewolf - ".librewolf/native-messaging-hosts".source = "${pkgs.kdePackages.plasma-browser-integration}/lib/mozilla/native-messaging-hosts"; - - # pam-u2f config - ".config/Yubico/u2f_keys".text = "wo2w:aKYaBOjCImRE58XcYJCqxpY0vABEIYWbk2Lvx4UqnN3M/A1uyr3boV4FZLkfxUwmlfBdMDm4caSaX1/SrNoNgw==,zruscj30G6zEt8xmlvTXBBEKIzg+fPCSq/FvhZO3X0HyP2uBLsWSXqCyRKXM8H9F/GJwJWBpyoHj/dhkxj7eZg==,es256,+presence"; - - # ~/.local/share/applications - "com.dec05eba.gpu_screen_recorder.desktop" = { - target = ".local/share/applications/com.dec05eba.gpu_screen_recorder.desktop"; - text = '' - [Desktop Entry] - Categories=AudioVideo;Recorder; - Comment[en_US]=A gpu based screen recorder / streaming program - Comment=A gpu based screen recorder / streaming program - Exec=nvidia-offload gpu-screen-recorder-gtk - GenericName[en_US]=Screen recorder - GenericName=Screen recorder - Icon=com.dec05eba.gpu_screen_recorder - Keywords=gpu-screen-recorder;screen recorder;streaming;twitch;replay; - MimeType= - Name[en_US]=GPU Screen Recorder - Name=GPU Screen Recorder - Path= - StartupNotify=true - Terminal=false - TerminalOptions= - Type=Application - X-KDE-SubstituteUID=false - X-KDE-Username= - ''; - }; - - "kitty.desktop" = { - target = ".local/share/applications/kitty.desktop"; - text = '' - [Desktop Entry] - Version=1.0 - Type=Application - Name=kitty - GenericName=Terminal emulator - Comment=Fast, feature-rich, GPU based terminal - TryExec=kitty - StartupNotify=true - Exec=kitty - Icon=kitty - Categories=System;TerminalEmulator; - X-TerminalArgExec=-- - X-TerminalArgTitle=--title - X-TerminalArgAppId=--class - X-TerminalArgDir=--working-directory - X-TerminalArgHold=--hold - ''; - }; - - "librewolf.desktop" = { - target = ".local/share/applications/librewolf.desktop"; - text = '' - [Desktop Entry] - Actions=new-private-window;new-window;profile-manager-window - Categories=Network;WebBrowser - Exec=nvidia-offload librewolf --name librewolf %U - GenericName=Web Browser - Icon=librewolf - MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;x-scheme-handler/http;x-scheme-handler/https - Name=LibreWolf - StartupNotify=true - StartupWMClass=librewolf - Terminal=false - Type=Application - Version=1.4 - - [Desktop Action new-private-window] - Exec=nvidia-offload librewolf --private-window %U - Name=New Private Window - - [Desktop Action new-window] - Exec=nvidia-offload librewolf --new-window %U - Name=New Window - - [Desktop Action profile-manager-window] - Exec=nvidia-offload librewolf --ProfileManager - Name=Profile Manager - ''; - }; - - "steam.desktop" = { - target = ".local/share/applications/steam.desktop"; - text = '' - [Desktop Entry] - Name=Steam - Comment=Application for managing and playing games on Steam - Comment[pt_BR]=Aplicativo para jogar e gerenciar jogos no Steam - Comment[bg]=Приложение за ръководене и пускане на игри в Steam - Comment[cs]=Aplikace pro spravování a hraní her ve službě Steam - Comment[da]=Applikation til at håndtere og spille spil på Steam - Comment[nl]=Applicatie voor het beheer en het spelen van games op Steam - Comment[fi]=Steamin pelien hallintaan ja pelaamiseen tarkoitettu sovellus - Comment[fr]=Application de gestion et d'utilisation des jeux sur Steam - Comment[de]=Anwendung zum Verwalten und Spielen von Spielen auf Steam - Comment[el]=Εφαρμογή διαχείρισης παιχνιδιών στο Steam - Comment[hu]=Alkalmazás a Steames játékok futtatásához és kezeléséhez - Comment[it]=Applicazione per la gestione e l'esecuzione di giochi su Steam - Comment[ja]=Steam 上でゲームを管理&プレイするためのアプリケーション - Comment[ko]=Steam에 있는 게임을 관리하고 플레이할 수 있는 응용 프로그램 - Comment[no]=Program for å administrere og spille spill på Steam - Comment[pt_PT]=Aplicação para organizar e executar jogos no Steam - Comment[pl]=Aplikacja do zarządzania i uruchamiania gier na platformie Steam - Comment[ro]=Aplicație pentru administrarea și jucatul jocurilor pe Steam - Comment[ru]=Приложение для игр и управления играми в Steam - Comment[es]=Aplicación para administrar y ejecutar juegos en Steam - Comment[sv]=Ett program för att hantera samt spela spel på Steam - Comment[zh_CN]=管理和进行 Steam 游戏的应用程序 - Comment[zh_TW]=管理並執行 Steam 遊戲的應用程式 - Comment[th]=โปรแกรมสำหรับจัดการและเล่นเกมบน Steam - Comment[tr]=Steam üzerinden oyun oynama ve düzenleme uygulaması - Comment[uk]=Програма для керування іграми та запуску ігор у Steam - Comment[vi]=Ứng dụng để quản lý và chơi trò chơi trên Steam - Exec=nvidia-offload steam %U - Icon=steam - Terminal=false - Type=Application - Categories=Network;FileTransfer;Game; - MimeType=x-scheme-handler/steam;x-scheme-handler/steamlink; - Actions=Store;Community;Library;Servers;Screenshots;News;Settings;BigPicture;Friends; - PrefersNonDefaultGPU=true - X-KDE-RunOnDiscreteGpu=true - - [Desktop Action Store] - Name=Store - Name[pt_BR]=Loja - Name[bg]=Магазин - Name[cs]=Obchod - Name[da]=Butik - Name[nl]=Winkel - Name[fi]=Kauppa - Name[fr]=Magasin - Name[de]=Shop - Name[el]=ΚΑΤΑΣΤΗΜΑ - Name[hu]=Áruház - Name[it]=Negozio - Name[ja]=ストア - Name[ko]=상점 - Name[no]=Butikk - Name[pt_PT]=Loja - Name[pl]=Sklep - Name[ro]=Magazin - Name[ru]=Магазин - Name[es]=Tienda - Name[sv]=Butik - Name[zh_CN]=商店 - Name[zh_TW]=商店 - Name[th]=ร้านค้า - Name[tr]=Mağaza - Name[uk]=Крамниця - Name[vi]=Cửa hàng - Exec=nvidia-offload steam steam://store - - [Desktop Action Community] - Name=Community - Name[pt_BR]=Comunidade - Name[bg]=Общност - Name[cs]=Komunita - Name[da]=Fællesskab - Name[nl]=Community - Name[fi]=Yhteisö - Name[fr]=Communauté - Name[de]=Community - Name[el]=Κοινότητα - Name[hu]=Közösség - Name[it]=Comunità - Name[ja]=コミュニティ - Name[ko]=커뮤니티 - Name[no]=Samfunn - Name[pt_PT]=Comunidade - Name[pl]=Społeczność - Name[ro]=Comunitate - Name[ru]=Сообщество - Name[es]=Comunidad - Name[sv]=Gemenskap - Name[zh_CN]=社区 - Name[zh_TW]=社群 - Name[th]=ชุมชน - Name[tr]=Topluluk - Name[uk]=Спільнота - Name[vi]=Cộng đồng - Exec=nvidia-offload steam steam://url/SteamIDControlPage - - [Desktop Action Library] - Name=Library - Name[pt_BR]=Biblioteca - Name[bg]=Библиотека - Name[cs]=Knihovna - Name[da]=Bibliotek - Name[nl]=Bibliotheek - Name[fi]=Kokoelma - Name[fr]=Bibliothèque - Name[de]=Bibliothek - Name[el]=Συλλογή - Name[hu]=Könyvtár - Name[it]=Libreria - Name[ja]=ライブラリ - Name[ko]=라이브러리 - Name[no]=Bibliotek - Name[pt_PT]=Biblioteca - Name[pl]=Biblioteka - Name[ro]=Colecţie - Name[ru]=Библиотека - Name[es]=Biblioteca - Name[sv]=Bibliotek - Name[zh_CN]=库 - Name[zh_TW]=收藏庫 - Name[th]=คลัง - Name[tr]=Kütüphane - Name[uk]=Бібліотека - Name[vi]=Thư viện - Exec=nvidia-offload steam steam://open/games - - [Desktop Action Servers] - Name=Servers - Name[pt_BR]=Servidores - Name[bg]=Сървъри - Name[cs]=Servery - Name[da]=Servere - Name[nl]=Servers - Name[fi]=Palvelimet - Name[fr]=Serveurs - Name[de]=Server - Name[el]=Διακομιστές - Name[hu]=Szerverek - Name[it]=Server - Name[ja]=サーバー - Name[ko]=서버 - Name[no]=Tjenere - Name[pt_PT]=Servidores - Name[pl]=Serwery - Name[ro]=Servere - Name[ru]=Серверы - Name[es]=Servidores - Name[sv]=Servrar - Name[zh_CN]=服务器 - Name[zh_TW]=伺服器 - Name[th]=เซิร์ฟเวอร์ - Name[tr]=Sunucular - Name[uk]=Сервери - Name[vi]=Máy chủ - Exec=nvidia-offload steam steam://open/servers - - [Desktop Action Screenshots] - Name=Screenshots - Name[pt_BR]=Capturas de tela - Name[bg]=Снимки - Name[cs]=Snímky obrazovky - Name[da]=Skærmbilleder - Name[nl]=Screenshots - Name[fi]=Kuvankaappaukset - Name[fr]=Captures d'écran - Name[de]=Screenshots - Name[el]=Φωτογραφίες - Name[hu]=Képernyőmentések - Name[it]=Screenshot - Name[ja]=スクリーンショット - Name[ko]=스크린샷 - Name[no]=Skjermbilder - Name[pt_PT]=Capturas de ecrã - Name[pl]=Zrzuty ekranu - Name[ro]=Capturi de ecran - Name[ru]=Скриншоты - Name[es]=Capturas - Name[sv]=Skärmdumpar - Name[zh_CN]=截图 - Name[zh_TW]=螢幕擷圖 - Name[th]=ภาพหน้าจอ - Name[tr]=Ekran Görüntüleri - Name[uk]=Скріншоти - Name[vi]=Ảnh chụp - Exec=nvidia-offload steam steam://open/screenshots - - [Desktop Action News] - Name=News - Name[pt_BR]=Notícias - Name[bg]=Новини - Name[cs]=Zprávy - Name[da]=Nyheder - Name[nl]=Nieuws - Name[fi]=Uutiset - Name[fr]=Actualités - Name[de]=Neuigkeiten - Name[el]=Νέα - Name[hu]=Hírek - Name[it]=Notizie - Name[ja]=ニュース - Name[ko]=뉴스 - Name[no]=Nyheter - Name[pt_PT]=Novidades - Name[pl]=Aktualności - Name[ro]=Știri - Name[ru]=Новости - Name[es]=Noticias - Name[sv]=Nyheter - Name[zh_CN]=新闻 - Name[zh_TW]=新聞 - Name[th]=ข่าวสาร - Name[tr]=Haberler - Name[uk]=Новини - Name[vi]=Tin tức - Exec=nvidia-offload steam steam://open/news - - [Desktop Action Settings] - Name=Settings - Name[pt_BR]=Configurações - Name[bg]=Настройки - Name[cs]=Nastavení - Name[da]=Indstillinger - Name[nl]=Instellingen - Name[fi]=Asetukset - Name[fr]=Paramètres - Name[de]=Einstellungen - Name[el]=Ρυθμίσεις - Name[hu]=Beállítások - Name[it]=Impostazioni - Name[ja]=設定 - Name[ko]=설정 - Name[no]=Innstillinger - Name[pt_PT]=Definições - Name[pl]=Ustawienia - Name[ro]=Setări - Name[ru]=Настройки - Name[es]=Parámetros - Name[sv]=Inställningar - Name[zh_CN]=设置 - Name[zh_TW]=設定 - Name[th]=การตั้งค่า - Name[tr]=Ayarlar - Name[uk]=Налаштування - Name[vi]=Thiết lập - Exec=nvidia-offload steam steam://open/settings - - [Desktop Action BigPicture] - Name=Big Picture - Exec=nvidia-offload steam steam://open/bigpicture - - [Desktop Action Friends] - Name=Friends - Name[pt_BR]=Amigos - Name[bg]=Приятели - Name[cs]=Přátelé - Name[da]=Venner - Name[nl]=Vrienden - Name[fi]=Kaverit - Name[fr]=Amis - Name[de]=Freunde - Name[el]=Φίλοι - Name[hu]=Barátok - Name[it]=Amici - Name[ja]=フレンド - Name[ko]=친구 - Name[no]=Venner - Name[pt_PT]=Amigos - Name[pl]=Znajomi - Name[ro]=Prieteni - Name[ru]=Друзья - Name[es]=Amigos - Name[sv]=Vänner - Name[zh_CN]=好友 - Name[zh_TW]=好友 - Name[th]=เพื่อน - Name[tr]=Arkadaşlar - Name[uk]=Друзі - Name[vi]=Bạn bè - Exec=nvidia-offload steam steam://open/friends - ''; - }; - - "vesktop.desktop" = { - target = ".local/share/applications/vesktop.desktop"; - text = '' - [Desktop Entry] - Categories=Network;InstantMessaging;Chat - Comment[en_US]= - Comment= - Exec=nvidia-offload vesktop %U - GenericName[en_US]=Internet Messenger - GenericName=Internet Messenger - Icon=vesktop - Keywords=discord;vencord;electron;chat - Name[en_US]=Vesktop - Name=Vesktop - Path= - StartupNotify=true - StartupWMClass=Vesktop - Terminal=false - TerminalOptions= - Type=Application - Version=1.4 - X-KDE-SubstituteUID=false - X-KDE-Username= - MimeType=x-scheme-handler/discord; - ''; - }; - - "vlc.desktop" = { - target = ".local/share/applications/vlc.desktop"; - text = '' - [Desktop Entry] - Categories=AudioVideo;Player;Recorder; - Comment[en_US]=Read, capture, broadcast your multimedia streams - Comment=Read, capture, broadcast your multimedia streams - Comment[af]=Lees, vang, send u multimediastrome - Comment[am]=የ እርስዎን በርካታ መገናኛ ማንበቢያ: መያዣ ማስተላለፊያ - Comment[ar]=اقرأ ، التقط ، و بث تدفقات وسائطك المتعددة - Comment[as_IN]=আপোনাৰ মাল্টিমিডিয়া ষ্ট্ৰীমসমূহ পঢ়ক, কেপচাৰ কৰক, সম্প্ৰচাৰ কৰক - Comment[ast]=Llei, captura y emiti fluxos multimedia - Comment[az]=Multinedia axınlarını oxudun, yazın və yayımlayın - Comment[be]=Чытаць, лавіць і трансляваць мультымедыйныя патокі - Comment[bg]=Прочитане, прихващане и излъчване на мултимедийни потоци. - Comment[bn_BD]=আপনার মাল্টিমিডিয়া স্ট্রীম পড়ুন, ধরে রাখুন এবং ছড়িয়ে দিন - Comment[br]=Lenn, enrollañ, skignañ ho froudoù liesvedia - Comment[ca]=Reproduïu, captureu i emeteu fluxos multimèdia - Comment[co]=Leghje, cattura, diffonde i vostri flussi multimedia - Comment[cs]=Čtěte, zachytávejte, a vysílejte své multimediální proudy - Comment[cy]=Darllen, cipio a darlledu dy ffrydiau aml-gyfrwng - Comment[da]=Læs, indspil, transmittér dine multimediestreams - Comment[de]=Wiedergabe, Aufnahme und Verbreitung Ihrer Multimedia-Streams - Comment[el]=Διαβάστε, καταγράψτε, μεταδώστε τα πολυμέσα σας - Comment[en_GB]=Read, capture, broadcast your multimedia streams - Comment[es]=Lea, capture y emita sus contenidos multimedia - Comment[es_MX]=Lea, capture, emita sus transmisiones multimedia - Comment[et]=Multimeediafailide ja -voogude taasesitamine, lindistamine ja edastamine - Comment[eu]=Irakurri, hartu, igorri zure multimedia jarioak - Comment[fi]=Toista, tallenna ja lähetä multimediaa - Comment[fr]=Lit, capture, diffuse vos flux multimédias - Comment[fy]=Jo multimedia-streams lêze, opnimme en útstjoere - Comment[ga]=Léigh, gabh, craol do shruthanna ilmheán - Comment[gd]=Leugh, glac is craol sruthan ioma-mheadhain - Comment[gl]=Lea, capture e emita os seus fluxos multimedia - Comment[he]=קריאה, לכידה ושידור של תזרימי המולטימדיה שלך - Comment[hi]=अपनी मल्टीमीडिया स्ट्रीम को पढ़ें, रिकॉर्ड करें, प्रसारित करें - Comment[hu]=Multimédia adatfolyamok olvasása, felvétele és továbbítása - Comment[id]=Baca, tangkap, pancarkan/broadcast aliran multimedia - Comment[ie]=Leer, registrar e difuser vor fluvies multimedia - Comment[is]=Lesa, taka upp og útvarpa margmiðlunarstreymi - Comment[it]=Leggi, cattura, trasmetti i tuoi flussi multimediali - Comment[ja]=マルチメディアストリームの読み込み、キャプチャー、ブロードキャスト - Comment[ka]=გახსენით, გადაიღეთ, გაუშვით მედიაფაილები ეთერში - Comment[kab]=Ɣeṛ, ṭṭef agdil, suffeɣ-d isuddam n umidya-ik - Comment[km]=អាន ចាប់យក ប្រកាស​ស្ទ្រីម​ពហុមេឌៀ​របស់​អ្នក - Comment[ko]=당신의 멀티미디어 스트림을 캡쳐 및 방송 할 수 있습니다 - Comment[lt]=Groti, įrašyti, siųsti įvairialypės terpės kūrinius - Comment[lv]=Lasiet, tveriet un apraidiet savas multimediju straumes - Comment[ml]=നിങ്ങളുടെ മൾട്ടിമീഡിയ സ്ട്രീമുകൾ റീഡ് ചെയ്യുക, ക്യാപ്‌ചർ ചെയ്യുക, പ്രക്ഷേപണം ചെയ്യുക - Comment[mn]=Таны дамжуулгын урсгалыг унших, бичиж авах, цацах - Comment[mr]=आपले मल्टीमिडिया प्रवाह बघा, हस्तगत करा, प्रसारित करा - Comment[ms]=Baca, tangkap, siarkan strim multimedia anda - Comment[my]=သင်၏ မာတီမီဒီယာ တိုက်ရိုက်လွှင့်ပြ စီးကြောင်းများကို ဖတ်၊ ဖမ်းယူ၊ ထုတ်လွင့်ခြင်း - Comment[nb]=Innless, ta opp, og kringkast dine multimediastrømmer - Comment[ne]=पढ्नुहोस्, क्याप्चर गर्नुहोस्, तपाईंका मल्टिमिडिया स्ट्रिमहरू प्रसारण गर्नुहोस् - Comment[nl]=Uw multimedia-streams lezen, opnemen en uitzenden - Comment[nn]=Spel av, ta opp og send ut multimedia - Comment[oc]=Legissètz, capturatz, difusatz vòstres fluxes multimèdia - Comment[pa]=ਆਪਣੀ ਮਲਟੀਮੀਡਿਆ ਸਟਰੀਮ ਪੜ੍ਹੋ, ਕੈਪਚਰ ਤੇ ਬਰਾਡਕਾਸਟ ਕਰੋ - Comment[pl]=Odczytywanie, przechwytywanie i nadawanie strumieni multimedialnych - Comment[pt_BR]=Reproduza, capture e transmita os seus transmissões multimídia - Comment[pt_PT]=Ler, capturar, transmitir as suas emissões de multimédia - Comment[ro]=Citește, capturează, difuzează fluxurile multimedia - Comment[ru]=Универсальный проигрыватель видео и аудио - Comment[sc]=Leghe, catura, trasmite sos flussos multimediales tuos - Comment[sk]=Načítavajte, zaznamenávajte, vysielajte svoje multimediálne streamy - Comment[sl]=Berite, zajemite, oddajajte vaše večpredstavne pretoke - Comment[sq]=Lexoni, kapni dhe transmetoni transmetimet tuaja multimedia - Comment[sr]=Читај, хватај, емитуј своје мултимедијалне токове - Comment[sv]=Läs, fånga, sänd dina multimediaströmmar - Comment[te]=మీ బహుళమాధ్యమ ప్రవాహాలను చదువు, బంధించు మరియు ప్రసారం చేయి - Comment[th]=อ่าน จับ และถ่ายทอดสตรีมมัลติมีเดียของคุณ - Comment[tr]=Çoklu ortam akışlarınızı okuyun, yakalayın, yayınlayın - Comment[uk]=Читання, захоплення та поширення ваших мультимедійних потоків - Comment[vi]=Đọc, chụp, phát các luồng đa phương tiện của bạn - Comment[wa]=Lét, egaloye, evoye vos floûs multimedia - Comment[zh_CN]=读取、捕获、广播您的多媒体流 - Comment[zh_TW]=讀取、擷取與廣播您的多媒體串流 - Exec=env QT_SCALE_FACTOR=1.4 __NV_PRIME_RENDER_OFFLOAD=1 __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0 __GLX_VENDOR_LIBRARY_NAME=nvidia __VK_LAYER_NV_optimus=NVIDIA_only /nix/store/kd85dylgr1pj6h696qs553miaffhhp6n-vlc-3.0.21/bin/vlc --started-from-file %U - GenericName[en_US]=Media player - GenericName=Media player - GenericName[af]=Mediaspeler - GenericName[am]=የ መገናኛ ማጫወቻ - GenericName[ar]=مشغل الوسائط - GenericName[as_IN]=মিডিয়া প্লেয়াৰ - GenericName[ast]=Reproductor multimedia - GenericName[az]=Media pleyeri - GenericName[be]=Медыяпрайгравальнік - GenericName[bg]=Медиен плейър - GenericName[bn_BD]=মিডিয়া প্লেয়ার - GenericName[br]=Lenner mediaoù - GenericName[ca]=Reproductor multimèdia - GenericName[co]=Lettore multimedia - GenericName[cs]=Multimediální přehrávač - GenericName[cy]=Chwaraeydd cyfryngau - GenericName[da]=Medieafspiller - GenericName[de]=Medienwiedergabe - GenericName[el]=Αναπαραγωγός πολυμέσων - GenericName[en_GB]=Media player - GenericName[es]=Reproductor multimedia - GenericName[es_MX]=Reproductor multimedia - GenericName[et]=Meediaesitaja - GenericName[eu]=Multimedia irakurgailua - GenericName[fi]=Mediasoitin - GenericName[fr]=Lecteur multimédia - GenericName[fy]=Mediaspiler - GenericName[ga]=Seinnteoir meán - GenericName[gd]=Cluicheadair mheadhanan - GenericName[gl]=Reprodutor multimedia - GenericName[he]=נגן מדיה - GenericName[hi]=मीडिया प्लेयर - GenericName[hu]=Médialejátszó - GenericName[id]=Pemutar Media - GenericName[ie]=Reproductor de media - GenericName[is]=Margmiðlunarspilari - GenericName[it]=Lettore multimediale - GenericName[ja]=メディアプレイヤー - GenericName[ka]=მედიაფაილების დამკვრელი - GenericName[kab]=Imeɣri n umidya - GenericName[km]=កម្មវិធី​ចាក់​មេឌៀ - GenericName[ko]=미디어 플레이어 - GenericName[lt]=Leistuvė - GenericName[lv]=Mediju atskaņotājs - GenericName[ml]=മീഡിയ പ്ലെയർ - GenericName[mn]=Дамжуулга тоглуулагч - GenericName[mr]=मीडिया प्लेअर - GenericName[ms]=Pemain media - GenericName[my]=မီဒီယာ ပြစက် - GenericName[nb]=Mediespiller - GenericName[ne]=मिडिया प्लेयर - GenericName[nl]=Mediaspeler - GenericName[nn]=Mediespelar - GenericName[oc]=Lector multimèdia - GenericName[pa]=ਮੀਡਿਆ ਪਲੇਅਰ - GenericName[pl]=Odtwarzacz multimedialny - GenericName[pt_BR]=Reprodutor de Mídias - GenericName[pt_PT]=Reprodutor de multimédia - GenericName[ro]=Redor media - GenericName[ru]=Медиаплеер - GenericName[sc]=Leghidore multimediale - GenericName[sk]=Prehrávač médií - GenericName[sl]=Predvajalnik predstavnih vsebin - GenericName[sq]=Lexues Media - GenericName[sr]=Медијски плејер - GenericName[sv]=Mediaspelare - GenericName[te]=మాధ్యమ ప్రదర్శకం - GenericName[th]=โปรแกรมเล่นสื่อ - GenericName[tr]=Ortam oynatıcısı - GenericName[uk]=Медіапрогравач - GenericName[vi]=Trình phát Media - GenericName[wa]=Djouweu d' media - GenericName[zh_CN]=媒体播放器 - GenericName[zh_TW]=媒體播放器 - Icon=vlc - Keywords=Player;Capture;DVD;Audio;Video;Server;Broadcast; - MimeType=x-content/video-vcd;x-content/video-svcd;x-content/video-dvd;x-content/audio-player;x-content/audio-cdda;video/x-theora+ogg;video/x-theora+ogg;video/x-ogm+ogg;video/x-ogm+ogg;video/x-nsv;video/x-ms-wmv;video/x-matroska;video/x-flv;video/x-flv;video/x-flv;video/x-flic;video/x-flic;video/x-anim;video/webm;video/vnd.rn-realvideo;video/vnd.mpegurl;video/vnd.avi;video/vnd.avi;video/vnd.avi;video/vnd.avi;video/vnd.avi;video/vnd.avi;video/quicktime;video/ogg;video/mpeg;video/mpeg;video/mpeg;video/mpeg;video/mpeg;video/mp4;video/mp4;video/mp4;video/mp2t;video/dv;video/3gpp2;video/3gpp2;video/3gpp;video/3gpp;video/3gpp;text/x-google-video-pointer;text/x-google-video-pointer;image/vnd.rn-realpix;audio/x-xm;audio/x-wavpack;audio/x-vorbis+ogg;audio/x-vorbis+ogg;audio/x-vorbis+ogg;audio/x-tta;audio/x-speex;audio/x-scpls;audio/x-scpls;audio/x-s3m;audio/x-musepack;audio/x-ms-wma;audio/x-ms-asx;audio/x-ms-asx;audio/x-ms-asx;audio/x-mpegurl;audio/x-mpegurl;audio/x-mod;audio/x-matroska;audio/x-it;audio/x-gsm;audio/x-ape;audio/x-aiff;audio/x-adpcm;audio/webm;audio/vnd.wave;audio/vnd.wave;audio/vnd.rn-realaudio;audio/vnd.rn-realaudio;audio/vnd.dts.hd;audio/vnd.dts;audio/ogg;audio/mpeg;audio/mpeg;audio/mpeg;audio/mpeg;audio/mpeg;audio/mp4;audio/mp4;audio/mp4;audio/mp2;audio/mp2;audio/midi;audio/flac;audio/flac;audio/basic;audio/AMR-WB;audio/AMR;audio/ac3;audio/aac;audio/aac;application/xspf+xml;application/x-shorten;application/x-quicktime-media-link;application/x-quicktime-media-link;application/x-matroska;application/vnd.rn-realmedia;application/vnd.rn-realmedia;application/vnd.ms-wpl;application/vnd.ms-asf;application/vnd.ms-asf;application/vnd.ms-asf;application/vnd.ms-asf;application/vnd.efi.iso;application/vnd.apple.mpegurl;application/vnd.adobe.flash.movie;application/sdp;application/ram;application/ogg;application/ogg;application/mxf; - Name[en_US]=VLC media player - Name=VLC media player - Name[af]=VLC-mediaspeler - Name[am]=የ ቪኤልሲ መገናኛ ማጫወቻ - Name[ar]=مشغل الوسائط VLC - Name[as_IN]=VLC মিডিয়া প্লেয়াৰ - Name[ast]=Reproductor multimedia VLC - Name[az]=VLC media pleyeri - Name[be]=Медыяпрайгравальнік VLC - Name[bg]=Медиен плейър VLC - Name[bn_BD]=VLC মিডিয়া প্লেয়ার - Name[br]=VLC lenner mediaoù - Name[ca]=Reproductor multimèdia VLC - Name[co]=Lettore multimedia VLC - Name[cs]=Multimediální přehrávač VLC - Name[cy]=Chwaraeydd VLC - Name[da]=VLC media player - Name[de]=VLC Media Player - Name[el]=Αναπαραγωγός πολυμέσων VLC - Name[en_GB]=VLC media player - Name[es]=Reproductor multimedia VLC - Name[es_MX]=Reproductor multimedia VLC - Name[et]=VLC meediaesitaja - Name[eu]=VLC multimedia-erreproduzigailua - Name[fi]=VLC-mediasoitin - Name[fr]=Lecteur multimédia VLC - Name[fy]=VLC media player - Name[ga]=Seinnteoir meán VLC - Name[gd]=Cluicheadair mheadhanan VLC - Name[gl]=Reprodutor multimedia VLC - Name[he]=נגן המדיה VLC - Name[hi]=वीएलसी मीडिया प्लेयर - Name[hu]=VLC médialejátszó - Name[id]=Pemutar media VLC - Name[ie]=Reproductor de media VLC - Name[is]=VLC spilarinn - Name[it]=Lettore multimediale VLC - Name[ja]=VLCメディアプレイヤー - Name[ka]=VLC მედიადამკვრელი - Name[kab]=Imeɣri n umidya VLC - Name[km]=កម្មវិធី​ចាក់​មេឌៀ VLC - Name[ko]=VLC 미디어 플레이어 - Name[lt]=VLC leistuvė - Name[lv]=VLC mediju atskaņotājs - Name[ml]=VLC മീഡിയ പ്ലെയർ - Name[mn]=VLC дамжуулга тоглуулагч - Name[mr]=VLC मीडिया प्लेअर - Name[ms]=Pemain media VLC - Name[my]=VLC မီဒီယာ ပြစက် - Name[nb]=VLC media player - Name[ne]=VLC मिडिया प्लेयर - Name[nl]=VLC media player - Name[nn]=VLC mediespelar - Name[oc]=Lector multimèdia VLC - Name[pa]=VLC ਮੀਡਿਆ ਪਲੇਅਰ - Name[pl]=VLC media player - Name[pt_BR]=Reprodutor de Mídias VLC - Name[pt_PT]=VLC media player - Name[ro]=Redor media VLC - Name[ru]=Медиаплеер VLC - Name[sc]=Leghidore multimediale VLC - Name[sk]=VLC media player - Name[sl]=Predvajalnik VLC - Name[sq]=VLC lexues media - Name[sr]=ВЛЦ медијски плејер - Name[sv]=VLC media player - Name[te]=VLC మాధ్యమ ప్రదర్శకం - Name[th]=โปรแกรมเล่นสื่อ VLC - Name[tr]=VLC ortam oynatıcısı - Name[uk]=Медіапрогравач VLC - Name[vi]=Trình phát media VLC - Name[wa]=Djouweu d' media VLC - Name[zh_CN]=VLC 媒体播放器 - Name[zh_TW]=VLC 媒體播放器 - Path= - StartupNotify=true - Terminal=false - TerminalOptions= - TryExec=/nix/store/kd85dylgr1pj6h696qs553miaffhhp6n-vlc-3.0.21/bin/vlc - Type=Application - Version=1.0 - X-KDE-Protocols=ftp,http,https,mms,rtmp,rtsp,sftp,smb - X-KDE-SubstituteUID=false - X-KDE-Username= - ''; - }; - }; - - home = { - stateVersion = "25.05"; - username = "wo2w"; - homeDirectory = "/home/wo2w"; - }; -} diff --git a/hosts/Earthmover/default.nix b/hosts/Earthmover/default.nix new file mode 100644 index 0000000..b107bf3 --- /dev/null +++ b/hosts/Earthmover/default.nix @@ -0,0 +1,22 @@ +{ config, ... }: + +{ + imports = [ + ./hardware-configuration.nix + + ../../common + ../../common/desktop + ../../modules/common + ../../modules/nixos + ]; + + home-manager.users.wo2w = { + imports = [ + ../../modules/home + ]; + + home.stateVersion = "25.05"; + }; + + system.stateVersion = "25.05"; +} \ No newline at end of file diff --git a/hosts/Swordsmachine/default.nix b/hosts/Swordsmachine/default.nix new file mode 100644 index 0000000..317abce --- /dev/null +++ b/hosts/Swordsmachine/default.nix @@ -0,0 +1,42 @@ +{ inputs, config, pkgs, ... }: + +{ + imports = [ + ./hardware-configuration.nix + + ../../common + ../../common/desktop + ../../modules/common + ../../modules/nixos + + inputs.nixos-hardware.nixosModules.dell-xps-15-9570-nvidia + ]; + + # pin the latest nvidia driver that works because they are so awesome in releasing an update that broke opengl for my 1050ti + hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.mkDriver { + version = "570.144"; + sha256_64bit = "sha256-wLjX7PLiC4N2dnS6uP7k0TI9xVWAJ02Ok0Y16JVfO+Y="; + sha256_aarch64 = "sha256-6kk2NLeKvG88QH7/YIrDXW4sgl324ddlAyTybvb0BP0="; + openSha256 = "sha256-PATw6u6JjybD2OodqbKrvKdkkCFQPMNPjrVYnAZhK/E="; + settingsSha256 = "sha256-VcCa3P/v3tDRzDgaY+hLrQSwswvNhsm93anmOhUymvM="; + persistencedSha256 = "sha256-hx4w4NkJ0kN7dkKDiSOsdJxj9+NZwRsZEuhqJ5Rq3nM="; + }; + + environment.systemPackages = with pkgs; [ + # necessary to make the camera not look like the sun + cameractrls + # for key replacement macros + xautomation + wget + ]; + + home-manager.users.wo2w = { + imports = [ + ../../modules/home + ]; + + home.stateVersion = "25.05"; + }; + + system.stateVersion = "24.11"; +} \ No newline at end of file diff --git a/hardware-configuration.nix b/hosts/Swordsmachine/hardware-configuration.nix similarity index 100% rename from hardware-configuration.nix rename to hosts/Swordsmachine/hardware-configuration.nix diff --git a/modules/common/default.nix b/modules/common/default.nix new file mode 100644 index 0000000..8bfa084 --- /dev/null +++ b/modules/common/default.nix @@ -0,0 +1,8 @@ +{ config, ... }: + +{ + imports = [ + ./stylix.nix + ./yubikey.nix + ]; +} \ No newline at end of file diff --git a/modules/common/stylix.nix b/modules/common/stylix.nix new file mode 100644 index 0000000..0667040 --- /dev/null +++ b/modules/common/stylix.nix @@ -0,0 +1,32 @@ +{ inputs, config, pkgs, ... }: + +{ + imports = [ inputs.stylix.nixosModules.stylix ]; + + stylix = { + enable = true; + base16Scheme = "${pkgs.base16-schemes}/share/themes/tokyo-night-dark.yaml"; + targets = { + fontconfig.enable = false; + font-packages.enable = false; + }; + fonts.sizes = { + applications = 12; + desktop = 10; + popups = 10; + terminal = 12; + }; + }; + + home-manager.users.wo2w.stylix = { + enable = true; + targets = { + spicetify.enable = false; + vesktop.enable = false; + vscode.enable = false; + fontconfig.enable = false; + font-packages.enable = false; + librewolf.profileNames = [ "wo2w" ]; + }; + }; +} \ No newline at end of file diff --git a/modules/common/yubikey.nix b/modules/common/yubikey.nix new file mode 100644 index 0000000..a96a2e8 --- /dev/null +++ b/modules/common/yubikey.nix @@ -0,0 +1,12 @@ +{ config, ... }: + +{ + # enable yubikey u2f for use with pam + security.pam.services = { + sudo.u2fAuth = true; + polkit-1.u2fAuth = if config.services.desktopManager.plasma6.enable then true else false; + }; + + # yubikey config + home-manager.users.wo2w.home.file.".config/Yubico/u2f_keys".text = "wo2w:aKYaBOjCImRE58XcYJCqxpY0vABEIYWbk2Lvx4UqnN3M/A1uyr3boV4FZLkfxUwmlfBdMDm4caSaX1/SrNoNgw==,zruscj30G6zEt8xmlvTXBBEKIzg+fPCSq/FvhZO3X0HyP2uBLsWSXqCyRKXM8H9F/GJwJWBpyoHj/dhkxj7eZg==,es256,+presence"; +} \ No newline at end of file diff --git a/modules/home/bash.nix b/modules/home/bash.nix new file mode 100644 index 0000000..22f4a14 --- /dev/null +++ b/modules/home/bash.nix @@ -0,0 +1,15 @@ +{ config, ... }: + +{ + programs = { + bash = { + enable = true; + shellAliases = { + switch = "sudo nixos-rebuild switch"; + boot = "sudo nixos-rebuild boot"; + }; + }; + + kitty.shellIntegration.enableBashIntegration = if config.programs.kitty.enable then true else false; + }; +} \ No newline at end of file diff --git a/modules/home/default.nix b/modules/home/default.nix new file mode 100644 index 0000000..1b5102b --- /dev/null +++ b/modules/home/default.nix @@ -0,0 +1,15 @@ +{ config, ... }: + +{ + imports = [ + ./bash.nix + ./desktop-files.nix + ./git.nix + ./kitty.nix + ./librewolf.nix + ./plasma.nix + ./spicetify.nix + ./vesktop.nix + ./vscodium.nix + ]; +} \ No newline at end of file diff --git a/modules/home/desktop-files.nix b/modules/home/desktop-files.nix new file mode 100644 index 0000000..df332f8 --- /dev/null +++ b/modules/home/desktop-files.nix @@ -0,0 +1,379 @@ +{ config, pkgs, ... }: + +let + ifHomeProgramEnable = + name: + if config.programs.${name}.enable then true else false; +in { + home.file = { + + + ".local/share/applications/kitty.desktop" = { + enable = ifHomeProgramEnable "kitty"; + text = '' + [Desktop Entry] + Version=1.0 + Type=Application + Name=kitty + GenericName=Terminal emulator + Comment=Fast, feature-rich, GPU based terminal + TryExec=kitty + StartupNotify=true + Exec=kitty + Icon=kitty + Categories=System;TerminalEmulator; + X-TerminalArgExec=-- + X-TerminalArgTitle=--title + X-TerminalArgAppId=--class + X-TerminalArgDir=--working-directory + X-TerminalArgHold=--hold + ''; + }; + + ".local/share/applications/librewolf.desktop" = { + enable = ifHomeProgramEnable "librewolf"; + text = '' + [Desktop Entry] + Actions=new-private-window;new-window;profile-manager-window + Categories=Network;WebBrowser + Exec=nvidia-offload librewolf --name librewolf %U + GenericName=Web Browser + Icon=librewolf + MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;x-scheme-handler/http;x-scheme-handler/https + Name=LibreWolf + StartupNotify=true + StartupWMClass=librewolf + Terminal=false + Type=Application + Version=1.4 + + [Desktop Action new-private-window] + Exec=nvidia-offload librewolf --private-window %U + Name=New Private Window + + [Desktop Action new-window] + Exec=nvidia-offload librewolf --new-window %U + Name=New Window + + [Desktop Action profile-manager-window] + Exec=nvidia-offload librewolf --ProfileManager + Name=Profile Manager + ''; + }; + + ".local/share/applications/steam.desktop" = { + enable = true; + text = '' + [Desktop Entry] + Name=Steam + Comment=Application for managing and playing games on Steam + Comment[pt_BR]=Aplicativo para jogar e gerenciar jogos no Steam + Comment[bg]=Приложение за ръководене и пускане на игри в Steam + Comment[cs]=Aplikace pro spravování a hraní her ve službě Steam + Comment[da]=Applikation til at håndtere og spille spil på Steam + Comment[nl]=Applicatie voor het beheer en het spelen van games op Steam + Comment[fi]=Steamin pelien hallintaan ja pelaamiseen tarkoitettu sovellus + Comment[fr]=Application de gestion et d'utilisation des jeux sur Steam + Comment[de]=Anwendung zum Verwalten und Spielen von Spielen auf Steam + Comment[el]=Εφαρμογή διαχείρισης παιχνιδιών στο Steam + Comment[hu]=Alkalmazás a Steames játékok futtatásához és kezeléséhez + Comment[it]=Applicazione per la gestione e l'esecuzione di giochi su Steam + Comment[ja]=Steam 上でゲームを管理&プレイするためのアプリケーション + Comment[ko]=Steam에 있는 게임을 관리하고 플레이할 수 있는 응용 프로그램 + Comment[no]=Program for å administrere og spille spill på Steam + Comment[pt_PT]=Aplicação para organizar e executar jogos no Steam + Comment[pl]=Aplikacja do zarządzania i uruchamiania gier na platformie Steam + Comment[ro]=Aplicație pentru administrarea și jucatul jocurilor pe Steam + Comment[ru]=Приложение для игр и управления играми в Steam + Comment[es]=Aplicación para administrar y ejecutar juegos en Steam + Comment[sv]=Ett program för att hantera samt spela spel på Steam + Comment[zh_CN]=管理和进行 Steam 游戏的应用程序 + Comment[zh_TW]=管理並執行 Steam 遊戲的應用程式 + Comment[th]=โปรแกรมสำหรับจัดการและเล่นเกมบน Steam + Comment[tr]=Steam üzerinden oyun oynama ve düzenleme uygulaması + Comment[uk]=Програма для керування іграми та запуску ігор у Steam + Comment[vi]=Ứng dụng để quản lý và chơi trò chơi trên Steam + Exec=nvidia-offload steam %U + Icon=steam + Terminal=false + Type=Application + Categories=Network;FileTransfer;Game; + MimeType=x-scheme-handler/steam;x-scheme-handler/steamlink; + Actions=Store;Community;Library;Servers;Screenshots;News;Settings;BigPicture;Friends; + PrefersNonDefaultGPU=true + X-KDE-RunOnDiscreteGpu=true + + [Desktop Action Store] + Name=Store + Name[pt_BR]=Loja + Name[bg]=Магазин + Name[cs]=Obchod + Name[da]=Butik + Name[nl]=Winkel + Name[fi]=Kauppa + Name[fr]=Magasin + Name[de]=Shop + Name[el]=ΚΑΤΑΣΤΗΜΑ + Name[hu]=Áruház + Name[it]=Negozio + Name[ja]=ストア + Name[ko]=상점 + Name[no]=Butikk + Name[pt_PT]=Loja + Name[pl]=Sklep + Name[ro]=Magazin + Name[ru]=Магазин + Name[es]=Tienda + Name[sv]=Butik + Name[zh_CN]=商店 + Name[zh_TW]=商店 + Name[th]=ร้านค้า + Name[tr]=Mağaza + Name[uk]=Крамниця + Name[vi]=Cửa hàng + Exec=nvidia-offload steam steam://store + + [Desktop Action Community] + Name=Community + Name[pt_BR]=Comunidade + Name[bg]=Общност + Name[cs]=Komunita + Name[da]=Fællesskab + Name[nl]=Community + Name[fi]=Yhteisö + Name[fr]=Communauté + Name[de]=Community + Name[el]=Κοινότητα + Name[hu]=Közösség + Name[it]=Comunità + Name[ja]=コミュニティ + Name[ko]=커뮤니티 + Name[no]=Samfunn + Name[pt_PT]=Comunidade + Name[pl]=Społeczność + Name[ro]=Comunitate + Name[ru]=Сообщество + Name[es]=Comunidad + Name[sv]=Gemenskap + Name[zh_CN]=社区 + Name[zh_TW]=社群 + Name[th]=ชุมชน + Name[tr]=Topluluk + Name[uk]=Спільнота + Name[vi]=Cộng đồng + Exec=nvidia-offload steam steam://url/SteamIDControlPage + + [Desktop Action Library] + Name=Library + Name[pt_BR]=Biblioteca + Name[bg]=Библиотека + Name[cs]=Knihovna + Name[da]=Bibliotek + Name[nl]=Bibliotheek + Name[fi]=Kokoelma + Name[fr]=Bibliothèque + Name[de]=Bibliothek + Name[el]=Συλλογή + Name[hu]=Könyvtár + Name[it]=Libreria + Name[ja]=ライブラリ + Name[ko]=라이브러리 + Name[no]=Bibliotek + Name[pt_PT]=Biblioteca + Name[pl]=Biblioteka + Name[ro]=Colecţie + Name[ru]=Библиотека + Name[es]=Biblioteca + Name[sv]=Bibliotek + Name[zh_CN]=库 + Name[zh_TW]=收藏庫 + Name[th]=คลัง + Name[tr]=Kütüphane + Name[uk]=Бібліотека + Name[vi]=Thư viện + Exec=nvidia-offload steam steam://open/games + + [Desktop Action Servers] + Name=Servers + Name[pt_BR]=Servidores + Name[bg]=Сървъри + Name[cs]=Servery + Name[da]=Servere + Name[nl]=Servers + Name[fi]=Palvelimet + Name[fr]=Serveurs + Name[de]=Server + Name[el]=Διακομιστές + Name[hu]=Szerverek + Name[it]=Server + Name[ja]=サーバー + Name[ko]=서버 + Name[no]=Tjenere + Name[pt_PT]=Servidores + Name[pl]=Serwery + Name[ro]=Servere + Name[ru]=Серверы + Name[es]=Servidores + Name[sv]=Servrar + Name[zh_CN]=服务器 + Name[zh_TW]=伺服器 + Name[th]=เซิร์ฟเวอร์ + Name[tr]=Sunucular + Name[uk]=Сервери + Name[vi]=Máy chủ + Exec=nvidia-offload steam steam://open/servers + + [Desktop Action Screenshots] + Name=Screenshots + Name[pt_BR]=Capturas de tela + Name[bg]=Снимки + Name[cs]=Snímky obrazovky + Name[da]=Skærmbilleder + Name[nl]=Screenshots + Name[fi]=Kuvankaappaukset + Name[fr]=Captures d'écran + Name[de]=Screenshots + Name[el]=Φωτογραφίες + Name[hu]=Képernyőmentések + Name[it]=Screenshot + Name[ja]=スクリーンショット + Name[ko]=스크린샷 + Name[no]=Skjermbilder + Name[pt_PT]=Capturas de ecrã + Name[pl]=Zrzuty ekranu + Name[ro]=Capturi de ecran + Name[ru]=Скриншоты + Name[es]=Capturas + Name[sv]=Skärmdumpar + Name[zh_CN]=截图 + Name[zh_TW]=螢幕擷圖 + Name[th]=ภาพหน้าจอ + Name[tr]=Ekran Görüntüleri + Name[uk]=Скріншоти + Name[vi]=Ảnh chụp + Exec=nvidia-offload steam steam://open/screenshots + + [Desktop Action News] + Name=News + Name[pt_BR]=Notícias + Name[bg]=Новини + Name[cs]=Zprávy + Name[da]=Nyheder + Name[nl]=Nieuws + Name[fi]=Uutiset + Name[fr]=Actualités + Name[de]=Neuigkeiten + Name[el]=Νέα + Name[hu]=Hírek + Name[it]=Notizie + Name[ja]=ニュース + Name[ko]=뉴스 + Name[no]=Nyheter + Name[pt_PT]=Novidades + Name[pl]=Aktualności + Name[ro]=Știri + Name[ru]=Новости + Name[es]=Noticias + Name[sv]=Nyheter + Name[zh_CN]=新闻 + Name[zh_TW]=新聞 + Name[th]=ข่าวสาร + Name[tr]=Haberler + Name[uk]=Новини + Name[vi]=Tin tức + Exec=nvidia-offload steam steam://open/news + + [Desktop Action Settings] + Name=Settings + Name[pt_BR]=Configurações + Name[bg]=Настройки + Name[cs]=Nastavení + Name[da]=Indstillinger + Name[nl]=Instellingen + Name[fi]=Asetukset + Name[fr]=Paramètres + Name[de]=Einstellungen + Name[el]=Ρυθμίσεις + Name[hu]=Beállítások + Name[it]=Impostazioni + Name[ja]=設定 + Name[ko]=설정 + Name[no]=Innstillinger + Name[pt_PT]=Definições + Name[pl]=Ustawienia + Name[ro]=Setări + Name[ru]=Настройки + Name[es]=Parámetros + Name[sv]=Inställningar + Name[zh_CN]=设置 + Name[zh_TW]=設定 + Name[th]=การตั้งค่า + Name[tr]=Ayarlar + Name[uk]=Налаштування + Name[vi]=Thiết lập + Exec=nvidia-offload steam steam://open/settings + + [Desktop Action BigPicture] + Name=Big Picture + Exec=nvidia-offload steam steam://open/bigpicture + + [Desktop Action Friends] + Name=Friends + Name[pt_BR]=Amigos + Name[bg]=Приятели + Name[cs]=Přátelé + Name[da]=Venner + Name[nl]=Vrienden + Name[fi]=Kaverit + Name[fr]=Amis + Name[de]=Freunde + Name[el]=Φίλοι + Name[hu]=Barátok + Name[it]=Amici + Name[ja]=フレンド + Name[ko]=친구 + Name[no]=Venner + Name[pt_PT]=Amigos + Name[pl]=Znajomi + Name[ro]=Prieteni + Name[ru]=Друзья + Name[es]=Amigos + Name[sv]=Vänner + Name[zh_CN]=好友 + Name[zh_TW]=好友 + Name[th]=เพื่อน + Name[tr]=Arkadaşlar + Name[uk]=Друзі + Name[vi]=Bạn bè + Exec=nvidia-offload steam steam://open/friends + ''; + }; + + ".local/applications/vesktop.desktop" = { + enable = ifHomeProgramEnable "vesktop"; + text = '' + [Desktop Entry] + Categories=Network;InstantMessaging;Chat + Comment[en_US]= + Comment= + Exec=nvidia-offload vesktop %U + GenericName[en_US]=Internet Messenger + GenericName=Internet Messenger + Icon=vesktop + Keywords=discord;vencord;electron;chat + Name[en_US]=Vesktop + Name=Vesktop + Path= + StartupNotify=true + StartupWMClass=Vesktop + Terminal=false + TerminalOptions= + Type=Application + Version=1.4 + X-KDE-SubstituteUID=false + X-KDE-Username= + MimeType=x-scheme-handler/discord; + ''; + }; + }; +} \ No newline at end of file diff --git a/modules/home/git.nix b/modules/home/git.nix new file mode 100644 index 0000000..48b1730 --- /dev/null +++ b/modules/home/git.nix @@ -0,0 +1,13 @@ +{ config, ... }: + +{ + programs.git = { + enable = true; + userName = "wo2wz"; + userEmail = "189177184+wo2wz@users.noreply.github.com"; + extraConfig = { + init.defaultBranch = "main"; + safe.directory = "/etc/nixos"; + }; + }; +} \ No newline at end of file diff --git a/modules/home/kitty.nix b/modules/home/kitty.nix new file mode 100644 index 0000000..5a50213 --- /dev/null +++ b/modules/home/kitty.nix @@ -0,0 +1,12 @@ +{ config, ... }: + +{ + programs.kitty = { + enable = true; + settings = { + tab_bar_style = "powerline"; + tab_powerline_style = "round"; + confirm_os_window_close = -1; + }; + }; +} \ No newline at end of file diff --git a/modules/home/librewolf.nix b/modules/home/librewolf.nix new file mode 100644 index 0000000..39dda37 --- /dev/null +++ b/modules/home/librewolf.nix @@ -0,0 +1,74 @@ +{ config, pkgs, ... }: + +{ + programs.librewolf = { + enable = true; + nativeMessagingHosts = [ pkgs.kdePackages.plasma-browser-integration ]; + settings = { + "identity.fxaccounts.enabled" = true; + "clipboard.autocopy" = false; + }; + policies = { + DefaultDownloadDirectory = "/home/wo2w/Downloads"; + + ExtensionSettings = with builtins; let + extension = shortId: uuid: { + name = uuid; + value = { + install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi"; + installation_mode = "normal_installed"; + }; + }; + in + listToAttrs [ + (extension "bitwarden-password-manager" "{446900e4-71c2-419f-a6a7-df9c091e268b}") + (extension "clearurls" "{74145f27-f039-47ce-a470-a662b129930a}") + (extension "darkreader" "addon@darkreader.org") + (extension "decentraleyes" "jid1-BoFifL9Vbdl2zQ@jetpack") + (extension "happy-bonobo-disable-webrtc" "jid1-5Fs7iTLscUaZBgwr@jetpack") + (extension "enhancer-for-youtube" "enhancerforyoutube@maximerf.addons.mozilla.org") + (extension "private-relay" "private-relay@firefox.com") + (extension "indie-wiki-buddy" "{cb31ec5d-c49a-4e5a-b240-16c767444f62}") + (extension "libredirect" "7esoorv3@alefvanoon.anonaddy.me") + (extension "plasma-integration" "plasma-browser-integration@kde.org") + (extension "privacy-badger17" "jid1-MnnxcxisBPnSXQ@jetpack") + (extension "return-youtube-dislikes" "{762f9885-5a13-4abd-9c77-433dcd38b8fd}") + (extension "ublock-origin" "uBlock0@raymondhill.net") + ]; + }; + profiles.wo2w = { + search = { + force = true; + default = "ddg"; + privateDefault = "ddg"; + }; + settings = { + "browser.urlbar.suggest.history" = false; + "browser.urlbar.suggest.bookmark" = false; + "browser.urlbar.suggest.openpage" = false; + "browser.urlbar.suggest.topsites" = false; + "browser.urlbar.suggest.recentsearches" = false; + "browser.startup.page" = 3; + + "network.trr.mode" = 2; + "network.trr.uri" = "https://base.dns.mullvad.net/dns-query"; + "network.trr.custom_uri" = "https://base.dns.mullvad.net/dns-query"; + + "privacy.clearHistory.formdata" = true; + "privacy.clearHistory.siteSettings" = false; + "privacy.clearOnShutdown.cache" = false; + "privacy.clearOnShutdown.cookies" = false; + "privacy.clearOnShutdown.sessions" = false; + "privacy.donottrackheader.enabled" = true; + + "widget.use-xdg-desktop-portal.file-picker" = 1; + }; + }; + }; + + # symlink for plasma browser integration native messaging in librewolf + home.file.".librewolf/native-messaging-hosts" = { + enable = true; + source = "${pkgs.kdePackages.plasma-browser-integration}/lib/mozilla/native-messaging-hosts"; + }; +} \ No newline at end of file diff --git a/modules/home/plasma.nix b/modules/home/plasma.nix new file mode 100644 index 0000000..cb66cd4 --- /dev/null +++ b/modules/home/plasma.nix @@ -0,0 +1,13 @@ +{ inputs, config, ... }: + +{ + imports = [ inputs.plasma-manager.homeManagerModules.plasma-manager ]; + + programs.plasma = { + enable = true; + workspace.cursor = { + theme = "Bibata-Modern-Classic"; + size = 24; + }; + }; +} \ No newline at end of file diff --git a/modules/home/spicetify.nix b/modules/home/spicetify.nix new file mode 100644 index 0000000..777b272 --- /dev/null +++ b/modules/home/spicetify.nix @@ -0,0 +1,29 @@ +{ inputs, config, pkgs, ... }: + +{ + imports = [ inputs.spicetify-nix.homeManagerModules.default ]; + + programs.spicetify = + let + spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.stdenv.system}; + in { + enable = true; + theme = { + name = "Tokyo"; + src = pkgs.fetchFromGitHub { + owner = "evening-hs"; + repo = "Spotify-Tokyo-Night-Theme"; + rev = "d88ca06eaeeb424d19e0d6f7f8e614e4bce962be"; + hash = "sha256-cLj9v8qtHsdV9FfzV2Qf4pWO8AOBXu51U/lUMvdEXAk="; + }; + }; + colorScheme = "Night"; + enabledExtensions = with spicePkgs.extensions; [ + adblock + hidePodcasts + shuffle + volumePercentage + history + ]; + }; +} \ No newline at end of file diff --git a/modules/home/vesktop.nix b/modules/home/vesktop.nix new file mode 100644 index 0000000..6bcbf98 --- /dev/null +++ b/modules/home/vesktop.nix @@ -0,0 +1,133 @@ +{ config, ... }: + +{ + programs.vesktop = { + enable = true; + vencord.settings = { + themeLinks = [ "https://catppuccin.github.io/discord/dist/catppuccin-mocha.theme.css" ]; + enabledThemes = [ "catppuccin-mocha.theme.css" ]; + plugins = { + ChatInputButtonAPI.enabled = true; + CommandsAPI.enabled = true; + DynamicImageModalAPI.enabled = true; + MessageAccessoriesAPI.enabled = true; + MessageEventsAPI.enabled = true; + MessagePopoverAPI.enabled = true; + MessageUpdaterAPI.enabled = true; + UserSettingsAPI.enabled = true; + BetterGifPicker.enabled = true; + BetterUploadButton.enabled = true; + BiggerStreamPreview.enabled = true; + CallTimer = { + enabled = true; + format = "stopwatch"; + }; + ClearURLs.enabled = true; + CopyFileContents.enabled = true; + CrashHandler.enabled = true; + Experiments = { + enabled = true; + toolbarDevMenu = false; + }; + FakeNitro = { + enabled = true; + enableStickerBypass = true; + enableStreamQualityBypass = true; + enableEmojiBypass = true; + transformEmojis = true; + transformStickers = true; + transformCompoundSentence = false; + stickerSize = 160; + hyperLinkText = "{{NAME}}"; + useHyperLinks = true; + disableEmbedPermissionCheck = false; + emojiSize = 48; + }; + FixYoutubeEmbeds.enabled = true; + MessageLogger = { + enabled = true; + collapseDeleted = false; + deleteStyle = "overlay"; + ignoreBots = false; + ignoreSelf = false; + ignoreUsers = ""; + ignoreChannels = ""; + ignoreGuilds = ""; + logEdits = true; + logDeletes = true; + inlineEdits = true; + }; + OpenInApp = { + enabled = true; + spotify = true; + steam = true; + epic = false; + tidal = false; + itunes = false; + }; + PreviewMessage.enabled = true; + RelationshipNotifier = { + enabled = true; + notices = true; + offlineRemovals = true; + friends = true; + friendRequestCancels = true; + servers = true; + groups = true; + }; + ReplaceGoogleSearch = { + enabled = true; + customEngineName = "DuckDuckGo"; + customEngineURL = "https://duckduckgo.com/&q="; + }; + ReverseImageSearch.enabled = true; + ServerInfo.enabled = true; + ShowHiddenChannels = { + enabled = true; + showMode = 0; + hideUnreads = true; + defaultAllowedUsersAndRolesDropdownState = true; + }; + SpotifyCrack = { + enabled = true; + noSpotifyAutoPause = true; + keepSpotifyActivityOnIdle = false; + }; + Translate = { + enabled = true; + showChatBarButton = true; + service = "google"; + deeplApiKey = ""; + autoTranslate = false; + showAutoTranslateTooltip = true; + }; + ValidReply.enabled = true; + ValidUser.enabled = true; + VoiceDownload.enabled = true; + VoiceMessages.enabled = true; + VolumeBooster = { + enabled = true; + multiplier = 5; + }; + WebKeybinds.enabled = true; + WebScreenShareFixes.enabled = true; + YoutubeAdblock.enabled = true; + BadgeAPI.enabled = true; + NoTrack = { + enabled = true; + disableAnalytics = true; + }; + WebContextMenus = { + enabled = true; + addBack = true; + }; + Settings = { + enabled = true; + settingsLocation = "aboveNitro"; + }; + SupportHelper.enabled = true; + DisableDeepLinks.enabled = true; + }; + }; + }; +} \ No newline at end of file diff --git a/modules/home/vscodium.nix b/modules/home/vscodium.nix new file mode 100644 index 0000000..1452687 --- /dev/null +++ b/modules/home/vscodium.nix @@ -0,0 +1,18 @@ +{ config, pkgs, ... }: + +{ + programs.vscode = { + enable = true; + package = pkgs.vscodium; + profiles.wo2w = { + extensions = with pkgs.vscode-extensions; [ + # theme + enkia.tokyo-night + # language extensions + jnoortheen.nix-ide + # discord rpc + leonardssh.vscord + ]; + }; + }; +} \ No newline at end of file diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix new file mode 100644 index 0000000..b614a3f --- /dev/null +++ b/modules/nixos/default.nix @@ -0,0 +1,10 @@ +{ config, ... }: + +{ + imports = [ + ./gaming.nix + ./kde.nix + # ./niri.nix + ./ssh.nix + ]; +} \ No newline at end of file diff --git a/modules/nixos/gaming.nix b/modules/nixos/gaming.nix new file mode 100644 index 0000000..4662223 --- /dev/null +++ b/modules/nixos/gaming.nix @@ -0,0 +1,28 @@ +{ inputs, config, pkgs, ... }: + +let + nixpkgs-unstable = import inputs.nixpkgs-unstable { + system = "${pkgs.system}"; + config.allowUnfree = true; + }; +in { + programs = { + gamemode.enable = true; # performance tuning for games + steam = { + enable = true; + extraCompatPackages = [ pkgs.proton-ge-bin ]; + }; + }; + environment.systemPackages = with pkgs; [ + # heroic games launcher + heroic + (prismlauncher.override { + # Change Java runtimes available to Prism Launcher + jdks = [ + jdk8 + nixpkgs-unstable.graalvmPackages.graalvm-oracle_17 + inputs.nixpkgs-pin.legacyPackages.${pkgs.system}.graalvm-ce + ]; + }) + ]; +} \ No newline at end of file diff --git a/modules/nixos/kde.nix b/modules/nixos/kde.nix new file mode 100644 index 0000000..898cde9 --- /dev/null +++ b/modules/nixos/kde.nix @@ -0,0 +1,26 @@ +{ config, pkgs, ... }: + +{ + services = { + xserver.enable = true; + displayManager.sddm = { + enable = true; + wayland = { + enable = true; + compositor = "kwin"; + }; + }; + desktopManager.plasma6.enable = true; + }; + + programs.kdeconnect.enable = true; + + # remove unnecessary packages + environment.plasma6.excludePackages = with pkgs.kdePackages; [ + elisa + discover + konsole + khelpcenter + krdp + ]; +} \ No newline at end of file diff --git a/modules/nixos/niri.nix b/modules/nixos/niri.nix new file mode 100644 index 0000000..2500eb7 --- /dev/null +++ b/modules/nixos/niri.nix @@ -0,0 +1,12 @@ +{ config, ... }: + +{ + programs.niri.enable = true; + + environment.systemPackages = with pkgs; [ + fuzzel + mako + waybar + xwayland-satellite + ]; +} \ No newline at end of file diff --git a/modules/nixos/ssh.nix b/modules/nixos/ssh.nix new file mode 100644 index 0000000..5caf4b0 --- /dev/null +++ b/modules/nixos/ssh.nix @@ -0,0 +1,22 @@ +{ config, pkgs, ... }: + +{ + programs.ssh = { + startAgent = true; + enableAskPassword = true; + extraConfig = " + Host gameserver + Hostname 192.168.2.221 + Port 22 + User wo2w + IdentityFile /home/wo2w/.ssh/ssh-key + "; + }; + + environment = { + systemPackages = if config.services.desktopManager.plasma6.enable then with pkgs; [ kdePackages.ksshaskpass ] else []; + variables = { + SSH_ASKPASS_REQUIRE = "prefer"; + }; + }; +} \ No newline at end of file