chore: drop makima/Typora/xournalpp; gate fcitx5/voxtype/opencode behind options
Tier A removals — small, half-wired modules nobody had asked for: - makima (Copilot-key remapper): drop core/system/makima.nix, the features/apps/makima/ keyboard.toml, the nomarchy-restart-makima script, the `nomarchy.system.features.makima` option, the state-file binding, the import in core/system/default.nix, and the "Key Remapping" entry in nomarchy-menu. ~50 LoC + a service nobody asked for. - Typora theme dir (core/home/config/Typora/) — Typora is a paid tool Nomarchy doesn't even ship; the SUPER+SHIFT+W keybinding pointed at a binary that wasn't on PATH. - xournalpp settings (core/home/config/xournalpp/) — referenced /usr/share paths that don't exist on NixOS. - core/home/config/environment.d/fcitx.conf — manual env vars are redundant once fcitx5 routes through NixOS's i18n.inputMethod. Optionalization — three half-wired features now sit behind explicit toggles, all default off (except keyring which keeps its existing default-on): - nomarchy.system.inputMethod.enable: new core/system/input-method.nix uses NixOS's i18n.inputMethod with fcitx5 + mozc/chinese/table addons. Drops the Hyprland exec-once line — i18n.inputMethod handles autostart. - nomarchy.system.voxtype.enable: marker option for users who install voxtype out-of-band (it's not in nixpkgs). Today it just documents intent; the existing keybinding + waybar widget no-op gracefully. - nomarchy.apps.opencode.enable: gates the existing features/apps/opencode/default.nix xdg.configFile so the opencode config only deploys when the user opts in. Installer: - system.nix and home.nix templates now surface the new toggles in their "Optional Nomarchy modules" comment blocks. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -1,309 +0,0 @@
|
|||||||
:root {
|
|
||||||
--accent-color: #aeb1b5; /* #'s before H1-3 */
|
|
||||||
--background-color: white;
|
|
||||||
--border-color: #ddd;
|
|
||||||
--code-bg-color: #f8f8f8;
|
|
||||||
--font-color: #42464c;
|
|
||||||
--header-color: #222324;
|
|
||||||
--link-color: #2077b2;
|
|
||||||
--control-text-color: #667176;
|
|
||||||
--side-bar-bg-color: #fafafa;
|
|
||||||
--body-font: "iA Writer Mono S";
|
|
||||||
--border-radius: 2px;
|
|
||||||
--document-horizontal-margin: 80px;
|
|
||||||
--document-padding-x: 10ch;
|
|
||||||
--font-size: 20px;
|
|
||||||
--h1-fontsize: 20px; /* 1,5 rem = 24px */
|
|
||||||
--h2-fontsize: 20px; /* 1,375 rem = 22px */
|
|
||||||
--h3-fontsize: 20px; /* 1,25 rem = 20px */
|
|
||||||
--h4-fontsize: 20px; /* 1,125 rem = 18px */
|
|
||||||
--line-height: 1.8;
|
|
||||||
--main-content-margin: 0 auto;
|
|
||||||
--main-content-max-width: 85ch;
|
|
||||||
--monospace-font-size: 20px;
|
|
||||||
--monospace-font: "iA Writer Mono S";
|
|
||||||
--monospace-line-height: 1.6;
|
|
||||||
--monospace: var(--monospace-font); /* Fixes source code mode */
|
|
||||||
--nav-width: 200px;
|
|
||||||
--vertical-padding: 40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Narrow layout styles */
|
|
||||||
@media (max-width: 640px) {
|
|
||||||
:root {
|
|
||||||
--document-padding-x: 4ch;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
html {
|
|
||||||
font-size: var(--font-size);
|
|
||||||
background-color: var(--background-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
html,
|
|
||||||
body {
|
|
||||||
color: var(--font-color);
|
|
||||||
font-family: var(--body-font);
|
|
||||||
line-height: var(--line-height);
|
|
||||||
}
|
|
||||||
|
|
||||||
#write {
|
|
||||||
/* size of writing area: */
|
|
||||||
padding-left: var(--document-padding-x);
|
|
||||||
padding-right: var(--document-padding-x);
|
|
||||||
max-width: var(--main-content-max-width);
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ---------------------
|
|
||||||
* Block Elements
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* yaml */
|
|
||||||
pre.md-meta-block {
|
|
||||||
background-color: var(--background-color);
|
|
||||||
padding-bottom: .5rem;
|
|
||||||
color: var(--accent-color);
|
|
||||||
border-bottom: 2px solid var(--border-color);
|
|
||||||
font-family: var(--monospace-font);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* headings */
|
|
||||||
h1, h2, h3 {
|
|
||||||
font-weight: bold;
|
|
||||||
color: var(--header-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 {
|
|
||||||
margin-top: 1rem;
|
|
||||||
margin-bottom: 1rem;
|
|
||||||
font-size: var(--h1-fontsize);
|
|
||||||
}
|
|
||||||
|
|
||||||
h1:not(:first-child) {
|
|
||||||
margin-top: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
h2 {
|
|
||||||
margin-top: 1rem;
|
|
||||||
margin-bottom: 0rem;
|
|
||||||
font-size: var(--h2-fontsize);
|
|
||||||
}
|
|
||||||
|
|
||||||
h3 {
|
|
||||||
margin-top: 1rem;
|
|
||||||
margin-bottom: 0rem;
|
|
||||||
font-size: var(--h3-fontsize);
|
|
||||||
}
|
|
||||||
|
|
||||||
h4, h5, h6 {
|
|
||||||
color: var(--header-color);
|
|
||||||
margin-top: 1rem;
|
|
||||||
margin-bottom: 0rem;
|
|
||||||
font-size: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
font-size: var(--h4-fontsize);
|
|
||||||
}
|
|
||||||
|
|
||||||
h6 {
|
|
||||||
color: var(--control-text-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
h1::before,
|
|
||||||
h2::before,
|
|
||||||
h3::before {
|
|
||||||
font-weight: 400;
|
|
||||||
text-align: right;
|
|
||||||
width: 5ch;
|
|
||||||
padding-right: 1ch;
|
|
||||||
margin-left: -5ch;
|
|
||||||
color: var(--accent-color);
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1::before {
|
|
||||||
content: '#';
|
|
||||||
}
|
|
||||||
|
|
||||||
h2::before {
|
|
||||||
content: '##';
|
|
||||||
}
|
|
||||||
|
|
||||||
h3::before {
|
|
||||||
content: '###';
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 tt,
|
|
||||||
h1 code {
|
|
||||||
font-size: inherit;
|
|
||||||
}
|
|
||||||
h2 tt,
|
|
||||||
h2 code {
|
|
||||||
font-size: inherit;
|
|
||||||
}
|
|
||||||
h3 tt,
|
|
||||||
h3 code {
|
|
||||||
font-size: inherit;
|
|
||||||
}
|
|
||||||
h4 tt,
|
|
||||||
h4 code {
|
|
||||||
font-size: inherit;
|
|
||||||
}
|
|
||||||
h5 tt,
|
|
||||||
h5 code {
|
|
||||||
font-size: inherit;
|
|
||||||
}
|
|
||||||
h6 tt,
|
|
||||||
h6 code {
|
|
||||||
font-size: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* table */
|
|
||||||
table {
|
|
||||||
margin-top: 1rem;
|
|
||||||
margin-bottom: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
table tr:nth-child(2n),
|
|
||||||
thead {
|
|
||||||
background-color: var(--side-bar-bg-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
td,
|
|
||||||
th {
|
|
||||||
border-style: solid;
|
|
||||||
border-color: var(--border-color);
|
|
||||||
border-width: 1px;
|
|
||||||
padding: .35rem .7rem
|
|
||||||
}
|
|
||||||
|
|
||||||
li p {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.task-list {
|
|
||||||
padding-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.task-list-item {
|
|
||||||
padding-left: 1.5em;
|
|
||||||
margin-bottom: 0rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
#write input[type='checkbox'] {
|
|
||||||
margin-top: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
blockquote {
|
|
||||||
margin: 1rem 0;
|
|
||||||
padding-left: 2ch;
|
|
||||||
margin-left: .5ch;
|
|
||||||
position: relative;
|
|
||||||
overflow: hidden;
|
|
||||||
border-left: 2px solid var(--border-color);
|
|
||||||
color: var(--accent-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* horizontal line */
|
|
||||||
hr {
|
|
||||||
border: none;
|
|
||||||
border-bottom: 2px solid var(--border-color);
|
|
||||||
margin-top: 1.4rem;
|
|
||||||
margin-bottom: 1.4rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
p {
|
|
||||||
margin: 2rem 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Code Fences
|
|
||||||
* see http:/*support.typora.io/Code-Block-Styles
|
|
||||||
*/
|
|
||||||
|
|
||||||
.cm-s-inner .CodeMirror-gutters {
|
|
||||||
background: var(--code-bg-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
.code-tooltip {
|
|
||||||
box-shadow: none;
|
|
||||||
border-radius: var(--border-radius);
|
|
||||||
background-color: var(--code-bg-color);
|
|
||||||
border-color: var(--border-color);
|
|
||||||
border-style: solid;
|
|
||||||
border-width: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.code-tooltip input {
|
|
||||||
outline: none;
|
|
||||||
width: 20ch;
|
|
||||||
}
|
|
||||||
|
|
||||||
.md-fences .code-tooltip {
|
|
||||||
bottom: -1.8rem;
|
|
||||||
padding: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.md-fences.md-focus .cm-s-inner {
|
|
||||||
/* Remove bottom right border radius when tooltip is shown */
|
|
||||||
border-bottom-right-radius: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* code tooltip autocomplete list */
|
|
||||||
|
|
||||||
.autoComplt-hint {
|
|
||||||
background-color: transparent !important;
|
|
||||||
margin: 0 !important;
|
|
||||||
padding: 0.125rem 0.375rem !important;
|
|
||||||
color: var(--text-color) !important;
|
|
||||||
line-height: var(--line-height) !important;
|
|
||||||
height: 1.4rem !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.autoComplt-hint-selected {
|
|
||||||
background-color: var(--link-color) !important;
|
|
||||||
color: var(--background-color) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* basic styles */
|
|
||||||
|
|
||||||
.md-fences,
|
|
||||||
code,
|
|
||||||
tt {
|
|
||||||
border: 1px solid var(--border-color);
|
|
||||||
background-color: var(--code-bg-color);
|
|
||||||
font-family: var(--monospace-font);
|
|
||||||
font-size: var(--monospace-font-size);
|
|
||||||
border-radius: .25rem;
|
|
||||||
padding: 0 .125rem;
|
|
||||||
line-height: var(--monospace-line-height);
|
|
||||||
}
|
|
||||||
|
|
||||||
.md-fences {
|
|
||||||
margin-bottom: 18px;
|
|
||||||
margin-top: 15px;
|
|
||||||
padding: 0.2em 1em;
|
|
||||||
padding-top: 8px;
|
|
||||||
padding-bottom: 6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
|
||||||
color: var(--link-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Control UI (optional)
|
|
||||||
*/
|
|
||||||
|
|
||||||
.outline-item:hover {
|
|
||||||
color: var(--header-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
#write div.md-toc-tooltip {
|
|
||||||
background-color: var(--background-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,95 +0,0 @@
|
|||||||
@import 'night/codeblock.dark.css';
|
|
||||||
@import 'night/mermaid.dark.css';
|
|
||||||
@import 'night/sourcemode.dark.css';
|
|
||||||
@import 'ia_typora.css';
|
|
||||||
|
|
||||||
:root {
|
|
||||||
--accented-background-color: #1e1e1e;
|
|
||||||
--light-header-color: #dbdbdb; /* H1-H3 */
|
|
||||||
--select-text-bg-color: #186a9a;
|
|
||||||
--accent-color: #4f525a;
|
|
||||||
--background-color: #101010;
|
|
||||||
--font-color: #bbbcbc;
|
|
||||||
--header-color: #bebebe; /* H4-H6 */
|
|
||||||
--border-color: #232629;
|
|
||||||
--link-color: #5584aa;
|
|
||||||
--code-bg-color: #1c1a1a;
|
|
||||||
--hover-bg-color: #050505;
|
|
||||||
--control-text-color: var(--font-color);
|
|
||||||
--side-bar-bg-color: var(--accented-background-color);
|
|
||||||
--control-text-hover-color: var(--header-color);
|
|
||||||
--item-hover-text-color: var(--header-color);
|
|
||||||
--item-hover-bg-color: var(--hover-bg-color);
|
|
||||||
--bg-color: var(--background-color);
|
|
||||||
--text-color: var(--font-color);
|
|
||||||
--meta-content-color: var(--accent-color);
|
|
||||||
--md-char-color: var(--accent-color);
|
|
||||||
--window-border: 1px solid rgba(0,0,0,.07);
|
|
||||||
--active-file-bg-color: var(--hover-bg-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
.outline-item:hover {
|
|
||||||
background-color: var(--hover-bg-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
#write {
|
|
||||||
cursor: -webkit-image-set(url("night/cursor.png") 1x, url("night/cursor@2x.png") 2x) 8 8, auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1,
|
|
||||||
h2,
|
|
||||||
h3 {
|
|
||||||
color: var(--light-header-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
mark {
|
|
||||||
background: #b8b80a
|
|
||||||
}
|
|
||||||
|
|
||||||
table tr:nth-child(2n),
|
|
||||||
thead {
|
|
||||||
background-color: #141313;
|
|
||||||
}
|
|
||||||
|
|
||||||
sup.md-footnote {
|
|
||||||
background-color: var(--code-bg-color);
|
|
||||||
color: var(--font-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* right click menu */
|
|
||||||
.context-menu {
|
|
||||||
background-color: #141313;
|
|
||||||
}
|
|
||||||
|
|
||||||
.context-menu.dropdown-menu .divider {
|
|
||||||
background-color: #232629;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* focus mode */
|
|
||||||
.on-focus-mode .md-end-block:not(.md-focus):not(.md-focus-container) * {
|
|
||||||
color: #4f525a !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.on-focus-mode .md-end-block:not(.md-focus) img,
|
|
||||||
.on-focus-mode .md-task-list-item:not(.md-focus-container)>input {
|
|
||||||
opacity: #4f525a !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.on-focus-mode li[cid]:not(.md-focus-container){
|
|
||||||
color: #4f525a;
|
|
||||||
}
|
|
||||||
|
|
||||||
.on-focus-mode .md-fences.md-focus .CodeMirror-code>*:not(.CodeMirror-activeline) *,
|
|
||||||
.on-focus-mode .CodeMirror.cm-s-inner:not(.CodeMirror-focused) * {
|
|
||||||
color: #4f525a !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.on-focus-mode .md-focus,
|
|
||||||
.on-focus-mode .md-focus-container {
|
|
||||||
color: var(--light-header-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
.on-focus-mode #typora-source .CodeMirror-code>*:not(.CodeMirror-activeline) * {
|
|
||||||
color: #4f525a !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
INPUT_METHOD=fcitx
|
|
||||||
QT_IM_MODULE=fcitx
|
|
||||||
XMODIFIERS=@im=fcitx
|
|
||||||
SDL_IM_MODULE=fcitx
|
|
||||||
@@ -1,7 +1,8 @@
|
|||||||
exec-once = uwsm-app -- hypridle
|
exec-once = uwsm-app -- hypridle
|
||||||
exec-once = uwsm-app -- mako
|
exec-once = uwsm-app -- mako
|
||||||
# exec-once = uwsm-app -- waybar
|
# exec-once = uwsm-app -- waybar
|
||||||
exec-once = uwsm-app -- fcitx5 --disable notificationitem
|
# fcitx5 is autostarted by NixOS's i18n.inputMethod when
|
||||||
|
# nomarchy.system.inputMethod.enable = true; no manual exec-once needed.
|
||||||
# swaybg is started as a systemd user service (nomarchy-wallpaper.service)
|
# swaybg is started as a systemd user service (nomarchy-wallpaper.service)
|
||||||
# so failures surface in logs and the wallpaper survives Hyprland restarts.
|
# so failures surface in logs and the wallpaper survives Hyprland restarts.
|
||||||
exec-once = uwsm-app -- swayosd-server
|
exec-once = uwsm-app -- swayosd-server
|
||||||
|
|||||||
@@ -1,268 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!--The Xournal++ settings file. Do not edit this file! Most settings are available in the Settings dialog, the others are commented in this file, but handle with care!-->
|
|
||||||
<settings>
|
|
||||||
<property name="pressureSensitivity" value="true"/>
|
|
||||||
<property name="minimumPressure" value="0.05"/>
|
|
||||||
<property name="pressureMultiplier" value="1"/>
|
|
||||||
<property name="zoomGesturesEnabled" value="true"/>
|
|
||||||
<property name="selectedToolbar" value="Portrait"/>
|
|
||||||
<property name="lastSavePath" value="/home/dhh/Downloads"/>
|
|
||||||
<property name="lastOpenPath" value=""/>
|
|
||||||
<property name="lastImagePath" value="/home/dhh/Dropbox/Images"/>
|
|
||||||
<property name="edgePanSpeed" value="20"/>
|
|
||||||
<property name="edgePanMaxMult" value="5"/>
|
|
||||||
<property name="zoomStep" value="10"/>
|
|
||||||
<property name="zoomStepScroll" value="2"/>
|
|
||||||
<property name="displayDpi" value="72"/>
|
|
||||||
<property name="mainWndWidth" value="800"/>
|
|
||||||
<property name="mainWndHeight" value="600"/>
|
|
||||||
<property name="maximized" value="true"/>
|
|
||||||
<property name="showToolbar" value="true"/>
|
|
||||||
<property name="showSidebar" value="true"/>
|
|
||||||
<property name="sidebarWidth" value="150"/>
|
|
||||||
<property name="sidebarNumberingStyle" value="1"/>
|
|
||||||
<property name="sidebarOnRight" value="false"/>
|
|
||||||
<property name="scrollbarOnLeft" value="false"/>
|
|
||||||
<property name="menubarVisible" value="true"/>
|
|
||||||
<property name="filepathShownInTitlebar" value="false"/>
|
|
||||||
<property name="numColumns" value="1"/>
|
|
||||||
<property name="numRows" value="1"/>
|
|
||||||
<property name="viewFixedRows" value="false"/>
|
|
||||||
<property name="showPairedPages" value="false"/>
|
|
||||||
<property name="layoutVertical" value="false"/>
|
|
||||||
<property name="layoutRightToLeft" value="false"/>
|
|
||||||
<property name="layoutBottomToTop" value="false"/>
|
|
||||||
<property name="numPairsOffset" value="1"/>
|
|
||||||
<!--The icon theme, allowed values are "disabled", "onDrawOfLastPage", and "onScrollOfLastPage"-->
|
|
||||||
<property name="emptyLastPageAppend" value="disabled"/>
|
|
||||||
<property name="presentationMode" value="false"/>
|
|
||||||
<!--Which GUI elements are shown in default view mode, separated by a colon (,)-->
|
|
||||||
<property name="defaultViewModeAttributes" value="showMenubar,showToolbar,showSidebar"/>
|
|
||||||
<!--Which GUI elements are shown in fullscreen view mode, separated by a colon (,)-->
|
|
||||||
<property name="fullscreenViewModeAttributes" value="goFullscren,showToolbar,showSidebar"/>
|
|
||||||
<!--Which GUI elements are shown in presentation view mode, separated by a colon (,)-->
|
|
||||||
<property name="presentationViewModeAttributes" value="goFullscren,showToolbar"/>
|
|
||||||
<!--The cursor icon used with a stylus, allowed values are "none", "dot", "big", "arrow"-->
|
|
||||||
<property name="stylusCursorType" value="dot"/>
|
|
||||||
<!--The eraser cursor visibility used with a stylus, allowed values are "never", "always", "hover", "touch"-->
|
|
||||||
<property name="eraserVisibility" value="always"/>
|
|
||||||
<!--The icon theme, allowed values are "iconsColor", "iconsLucide"-->
|
|
||||||
<property name="iconTheme" value="iconsColor"/>
|
|
||||||
<!--Dark/light mode, allowed values are "useSystem", "forceLight", "forceDark"-->
|
|
||||||
<property name="themeVariant" value="forceDark"/>
|
|
||||||
<property name="highlightPosition" value="false"/>
|
|
||||||
<property name="cursorHighlightColor" value="2164260608"/>
|
|
||||||
<property name="cursorHighlightBorderColor" value="2147483903"/>
|
|
||||||
<property name="cursorHighlightRadius" value="30"/>
|
|
||||||
<property name="cursorHighlightBorderWidth" value="0"/>
|
|
||||||
<property name="useStockIcons" value="false"/>
|
|
||||||
<property name="disableScrollbarFadeout" value="false"/>
|
|
||||||
<property name="disableAudio" value="false"/>
|
|
||||||
<!--Hides scroolbars in the main window, allowed values: "none", "horizontal", "vertical", "both"-->
|
|
||||||
<property name="scrollbarHideType" value="none"/>
|
|
||||||
<property name="autoloadMostRecent" value="false"/>
|
|
||||||
<property name="autoloadPdfXoj" value="true"/>
|
|
||||||
<property name="defaultSaveName" value="%F-Note-%H-%M"/>
|
|
||||||
<property name="defaultPdfExportName" value="%{name}_annotated"/>
|
|
||||||
<property name="autosaveEnabled" value="true"/>
|
|
||||||
<property name="autosaveTimeout" value="3"/>
|
|
||||||
<property name="addHorizontalSpace" value="false"/>
|
|
||||||
<property name="addHorizontalSpaceAmount" value="150"/>
|
|
||||||
<property name="addVerticalSpace" value="false"/>
|
|
||||||
<property name="addVerticalSpaceAmount" value="150"/>
|
|
||||||
<property name="drawDirModsEnabled" value="false"/>
|
|
||||||
<property name="drawDirModsRadius" value="50"/>
|
|
||||||
<property name="snapRotation" value="true"/>
|
|
||||||
<property name="snapRotationTolerance" value="0.3"/>
|
|
||||||
<property name="snapGrid" value="true"/>
|
|
||||||
<property name="snapGridTolerance" value="0.5"/>
|
|
||||||
<property name="snapGridSize" value="14.17"/>
|
|
||||||
<property name="strokeRecognizerMinSize" value="40"/>
|
|
||||||
<property name="touchDrawing" value="false"/>
|
|
||||||
<property name="gtkTouchInertialScrolling" value="true"/>
|
|
||||||
<property name="pressureGuessing" value="false"/>
|
|
||||||
<property name="selectionBorderColor" value="4294901760"/>
|
|
||||||
<property name="backgroundColor" value="4292664021"/>
|
|
||||||
<property name="selectionMarkerColor" value="4285702095"/>
|
|
||||||
<property name="touchZoomStartThreshold" value="0"/>
|
|
||||||
<property name="pageRerenderThreshold" value="5"/>
|
|
||||||
<!--The count of rendered PDF pages which will be cached.-->
|
|
||||||
<property name="pdfPageCacheSize" value="10"/>
|
|
||||||
<property name="preloadPagesBefore" value="3"/>
|
|
||||||
<property name="preloadPagesAfter" value="5"/>
|
|
||||||
<property name="eagerPageCleanup" value="true"/>
|
|
||||||
<!--Config for new pages-->
|
|
||||||
<property name="pageTemplate" value="xoj/template copyLastPageSettings=true size=595.275591x841.889764 backgroundType=lined backgroundColor=#ffffff "/>
|
|
||||||
<property name="sizeUnit" value=""/>
|
|
||||||
<property name="audioFolder" value=""/>
|
|
||||||
<property name="audioInputDevice" value="-1"/>
|
|
||||||
<property name="audioOutputDevice" value="-1"/>
|
|
||||||
<property name="audioSampleRate" value="44100"/>
|
|
||||||
<property name="audioGain" value="1"/>
|
|
||||||
<property name="defaultSeekTime" value="5"/>
|
|
||||||
<property name="pluginEnabled" value=""/>
|
|
||||||
<property name="pluginDisabled" value=""/>
|
|
||||||
<property name="strokeFilterIgnoreTime" value="150"/>
|
|
||||||
<property name="strokeFilterIgnoreLength" value="1"/>
|
|
||||||
<property name="strokeFilterSuccessiveTime" value="500"/>
|
|
||||||
<property name="strokeFilterEnabled" value="false"/>
|
|
||||||
<property name="doActionOnStrokeFiltered" value="false"/>
|
|
||||||
<property name="trySelectOnStrokeFiltered" value="false"/>
|
|
||||||
<property name="snapRecognizedShapesEnabled" value="false"/>
|
|
||||||
<property name="restoreLineWidthEnabled" value="false"/>
|
|
||||||
<property name="numIgnoredStylusEvents" value="0"/>
|
|
||||||
<property name="inputSystemTPCButton" value="false"/>
|
|
||||||
<property name="inputSystemDrawOutsideWindow" value="true"/>
|
|
||||||
<property name="preferredLocale" value=""/>
|
|
||||||
<property name="stabilizerAveragingMethod" value="0"/>
|
|
||||||
<property name="stabilizerPreprocessor" value="0"/>
|
|
||||||
<property name="stabilizerBuffersize" value="20"/>
|
|
||||||
<property name="stabilizerSigma" value="0.5"/>
|
|
||||||
<property name="stabilizerDeadzoneRadius" value="1.3"/>
|
|
||||||
<property name="stabilizerDrag" value="0.4"/>
|
|
||||||
<property name="stabilizerMass" value="5"/>
|
|
||||||
<property name="stabilizerCuspDetection" value="true"/>
|
|
||||||
<property name="stabilizerFinalizeStroke" value="true"/>
|
|
||||||
<property name="latexSettings.autoCheckDependencies" value="true"/>
|
|
||||||
<property name="latexSettings.defaultText" value="x^2"/>
|
|
||||||
<property name="latexSettings.globalTemplatePath" value="/usr/share/xournalpp/resources/default_template.tex"/>
|
|
||||||
<property name="latexSettings.genCmd" value="pdflatex -halt-on-error -interaction=nonstopmode '{}'"/>
|
|
||||||
<property name="latexSettings.sourceViewThemeId" value=""/>
|
|
||||||
<property name="latexSettings.editorFont" value="Monospace 12"/>
|
|
||||||
<property name="latexSettings.useCustomEditorFont" value="false"/>
|
|
||||||
<property name="latexSettings.editorWordWrap" value="true"/>
|
|
||||||
<property name="latexSettings.sourceViewAutoIndent" value="true"/>
|
|
||||||
<property name="latexSettings.sourceViewSyntaxHighlight" value="true"/>
|
|
||||||
<property name="latexSettings.sourceViewShowLineNumbers" value="false"/>
|
|
||||||
<property name="font" font="Sans" size="12"/>
|
|
||||||
<data name="buttonConfig">
|
|
||||||
<data name="default">
|
|
||||||
<attribute name="color" type="hex" value="ff000000"/>
|
|
||||||
<attribute name="drawingType" type="string" value="default"/>
|
|
||||||
<attribute name="size" type="string" value="thin"/>
|
|
||||||
<attribute name="tool" type="string" value="pen"/>
|
|
||||||
</data>
|
|
||||||
<data name="eraser">
|
|
||||||
<attribute name="eraserMode" type="string" value="none"/>
|
|
||||||
<attribute name="size" type="string" value="none"/>
|
|
||||||
<attribute name="tool" type="string" value="eraser"/>
|
|
||||||
</data>
|
|
||||||
<data name="middle">
|
|
||||||
<attribute name="tool" type="string" value="hand"/>
|
|
||||||
</data>
|
|
||||||
<data name="right">
|
|
||||||
<attribute name="tool" type="string" value="none"/>
|
|
||||||
</data>
|
|
||||||
<data name="stylus">
|
|
||||||
<attribute name="tool" type="string" value="none"/>
|
|
||||||
</data>
|
|
||||||
<data name="stylus2">
|
|
||||||
<attribute name="tool" type="string" value="none"/>
|
|
||||||
</data>
|
|
||||||
<data name="touch">
|
|
||||||
<attribute name="device" type="string" value=""/>
|
|
||||||
<attribute name="disableDrawing" type="boolean" value="false"/>
|
|
||||||
<attribute name="tool" type="string" value="none"/>
|
|
||||||
</data>
|
|
||||||
</data>
|
|
||||||
<data name="deviceClasses">
|
|
||||||
<data name="Wayland Finger Scrolling">
|
|
||||||
<attribute name="deviceClass" type="int" value="1"/>
|
|
||||||
<attribute name="deviceSource" type="int" value="6"/>
|
|
||||||
</data>
|
|
||||||
<data name="Wayland Pointer">
|
|
||||||
<attribute name="deviceClass" type="int" value="1"/>
|
|
||||||
<attribute name="deviceSource" type="int" value="0"/>
|
|
||||||
</data>
|
|
||||||
</data>
|
|
||||||
<data name="tools">
|
|
||||||
<attribute name="current" type="string" value="text"/>
|
|
||||||
<data name="drawArrow">
|
|
||||||
<attribute name="drawingType" type="string" value="default"/>
|
|
||||||
</data>
|
|
||||||
<data name="drawCoordinateSystem">
|
|
||||||
<attribute name="drawingType" type="string" value="default"/>
|
|
||||||
</data>
|
|
||||||
<data name="drawDoubleArrow">
|
|
||||||
<attribute name="drawingType" type="string" value="default"/>
|
|
||||||
</data>
|
|
||||||
<data name="drawEllipse">
|
|
||||||
<attribute name="drawingType" type="string" value="default"/>
|
|
||||||
</data>
|
|
||||||
<data name="drawRect">
|
|
||||||
<attribute name="drawingType" type="string" value="default"/>
|
|
||||||
</data>
|
|
||||||
<data name="drawSpline">
|
|
||||||
<attribute name="drawingType" type="string" value="default"/>
|
|
||||||
</data>
|
|
||||||
<data name="eraser">
|
|
||||||
<attribute name="drawingType" type="string" value="default"/>
|
|
||||||
<attribute name="size" type="string" value="MEDIUM"/>
|
|
||||||
<attribute name="type" type="string" value="default"/>
|
|
||||||
</data>
|
|
||||||
<data name="hand">
|
|
||||||
<attribute name="drawingType" type="string" value="default"/>
|
|
||||||
</data>
|
|
||||||
<data name="highlighter">
|
|
||||||
<attribute name="color" type="hex" value="ffffff00"/>
|
|
||||||
<attribute name="drawingType" type="string" value="default"/>
|
|
||||||
<attribute name="fill" type="int" value="0"/>
|
|
||||||
<attribute name="fillAlpha" type="int" value="128"/>
|
|
||||||
<attribute name="size" type="string" value="MEDIUM"/>
|
|
||||||
</data>
|
|
||||||
<data name="image">
|
|
||||||
<attribute name="drawingType" type="string" value="default"/>
|
|
||||||
</data>
|
|
||||||
<data name="pen">
|
|
||||||
<attribute name="color" type="hex" value="ff3333cc"/>
|
|
||||||
<attribute name="drawingType" type="string" value="default"/>
|
|
||||||
<attribute name="fill" type="int" value="0"/>
|
|
||||||
<attribute name="fillAlpha" type="int" value="128"/>
|
|
||||||
<attribute name="size" type="string" value="MEDIUM"/>
|
|
||||||
<attribute name="style" type="string" value="plain"/>
|
|
||||||
</data>
|
|
||||||
<data name="playObject">
|
|
||||||
<attribute name="drawingType" type="string" value="default"/>
|
|
||||||
</data>
|
|
||||||
<data name="selectMultiLayerRect">
|
|
||||||
<attribute name="drawingType" type="string" value="default"/>
|
|
||||||
</data>
|
|
||||||
<data name="selectMultiLayerRegion">
|
|
||||||
<attribute name="drawingType" type="string" value="default"/>
|
|
||||||
</data>
|
|
||||||
<data name="selectObject">
|
|
||||||
<attribute name="drawingType" type="string" value="default"/>
|
|
||||||
</data>
|
|
||||||
<data name="selectPdfTextLinear">
|
|
||||||
<attribute name="color" type="hex" value="ff000000"/>
|
|
||||||
<attribute name="drawingType" type="string" value="default"/>
|
|
||||||
</data>
|
|
||||||
<data name="selectPdfTextRect">
|
|
||||||
<attribute name="color" type="hex" value="ff000000"/>
|
|
||||||
<attribute name="drawingType" type="string" value="default"/>
|
|
||||||
</data>
|
|
||||||
<data name="selectRect">
|
|
||||||
<attribute name="drawingType" type="string" value="default"/>
|
|
||||||
</data>
|
|
||||||
<data name="selectRegion">
|
|
||||||
<attribute name="drawingType" type="string" value="default"/>
|
|
||||||
</data>
|
|
||||||
<data name="showFloatingToolbox">
|
|
||||||
<attribute name="drawingType" type="string" value="default"/>
|
|
||||||
</data>
|
|
||||||
<data name="text">
|
|
||||||
<attribute name="color" type="hex" value="ff000000"/>
|
|
||||||
<attribute name="drawingType" type="string" value="default"/>
|
|
||||||
</data>
|
|
||||||
<data name="verticalSpace">
|
|
||||||
<attribute name="drawingType" type="string" value="default"/>
|
|
||||||
</data>
|
|
||||||
</data>
|
|
||||||
<data name="touch">
|
|
||||||
<attribute name="cmdDisable" type="string" value=""/>
|
|
||||||
<attribute name="cmdEnable" type="string" value=""/>
|
|
||||||
<attribute name="disableTouch" type="boolean" value="false"/>
|
|
||||||
<attribute name="method" type="string" value="auto"/>
|
|
||||||
<attribute name="timeout" type="int" value="1000"/>
|
|
||||||
</data>
|
|
||||||
</settings>
|
|
||||||
@@ -7,7 +7,6 @@ let
|
|||||||
# This replaces dynamic builtins.readDir for clarity and faster evaluation
|
# This replaces dynamic builtins.readDir for clarity and faster evaluation
|
||||||
configItems = {
|
configItems = {
|
||||||
# Directories
|
# Directories
|
||||||
"environment.d" = "directory";
|
|
||||||
fastfetch = "directory";
|
fastfetch = "directory";
|
||||||
fcitx5 = "directory";
|
fcitx5 = "directory";
|
||||||
fontconfig = "directory";
|
fontconfig = "directory";
|
||||||
@@ -16,10 +15,8 @@ let
|
|||||||
"nautilus-python" = "directory";
|
"nautilus-python" = "directory";
|
||||||
nomarchy = "directory";
|
nomarchy = "directory";
|
||||||
"nomarchy-skill" = "directory";
|
"nomarchy-skill" = "directory";
|
||||||
Typora = "directory";
|
|
||||||
uwsm = "directory";
|
uwsm = "directory";
|
||||||
wiremix = "directory";
|
wiremix = "directory";
|
||||||
xournalpp = "directory";
|
|
||||||
|
|
||||||
# Files
|
# Files
|
||||||
"brave-flags.conf" = "regular";
|
"brave-flags.conf" = "regular";
|
||||||
|
|||||||
@@ -100,5 +100,16 @@
|
|||||||
default = null;
|
default = null;
|
||||||
description = "Path to a directory containing configuration overrides.";
|
description = "Path to a directory containing configuration overrides.";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
apps = {
|
||||||
|
opencode = {
|
||||||
|
enable = lib.mkEnableOption ''
|
||||||
|
opencode AI coding CLI integration. When on, deploys
|
||||||
|
~/.config/opencode/opencode.json. The `opencode` package itself
|
||||||
|
is not installed by Nomarchy — add it to your home.nix if you
|
||||||
|
want it on PATH.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,12 +17,12 @@
|
|||||||
./network.nix
|
./network.nix
|
||||||
./impermanence.nix
|
./impermanence.nix
|
||||||
./browser.nix
|
./browser.nix
|
||||||
./makima.nix
|
|
||||||
# Tier 1 system features (all opt-in via nomarchy.system.*).
|
# Tier 1 system features (all opt-in via nomarchy.system.*).
|
||||||
./snapper.nix
|
./snapper.nix
|
||||||
./hibernate.nix
|
./hibernate.nix
|
||||||
./containers.nix
|
./containers.nix
|
||||||
./pam.nix
|
./pam.nix
|
||||||
|
./input-method.nix
|
||||||
../../themes/engine/plymouth.nix
|
../../themes/engine/plymouth.nix
|
||||||
../../themes/engine/sddm.nix
|
../../themes/engine/sddm.nix
|
||||||
];
|
];
|
||||||
|
|||||||
22
core/system/input-method.nix
Normal file
22
core/system/input-method.nix
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.nomarchy.system.inputMethod;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
# NixOS's i18n.inputMethod handles env vars (GTK_IM_MODULE, QT_IM_MODULE,
|
||||||
|
# XMODIFIERS, SDL_IM_MODULE) and the fcitx5-daemon autostart for us, so
|
||||||
|
# we don't ship a manual environment.d file or Hyprland exec-once.
|
||||||
|
i18n.inputMethod = {
|
||||||
|
enable = true;
|
||||||
|
type = "fcitx5";
|
||||||
|
fcitx5.addons = with pkgs; [
|
||||||
|
fcitx5-mozc # Japanese
|
||||||
|
fcitx5-chinese-addons # Chinese (pinyin/shuangpin)
|
||||||
|
fcitx5-table-extra # Hanyu/Cangjie/etc.
|
||||||
|
fcitx5-gtk # GTK4/3 client
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
{ config, pkgs, lib, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.nomarchy.system.features.makima;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
config = lib.mkIf cfg {
|
|
||||||
# If the user has makima-bin available in their overlays (as they originally used a custom package),
|
|
||||||
# this will install it. Otherwise, it will fail evaluation if not available in nixpkgs.
|
|
||||||
environment.systemPackages = [ pkgs.makima-bin ];
|
|
||||||
|
|
||||||
environment.etc."makima/AT Translated Set 2 keyboard.toml".source = ../../features/apps/makima + "/AT Translated Set 2 keyboard.toml";
|
|
||||||
|
|
||||||
systemd.services.makima = {
|
|
||||||
description = "Makima key remapping service";
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
|
||||||
serviceConfig = {
|
|
||||||
User = config.services.displayManager.autoLogin.user;
|
|
||||||
Environment = "MAKIMA_CONFIG=/etc/makima";
|
|
||||||
ExecStart = "${pkgs.makima-bin}/bin/makima";
|
|
||||||
Restart = "on-failure";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -40,11 +40,6 @@
|
|||||||
default = false;
|
default = false;
|
||||||
description = "Whether to enable hybrid GPU support (supergfxd).";
|
description = "Whether to enable hybrid GPU support (supergfxd).";
|
||||||
};
|
};
|
||||||
makima = lib.mkOption {
|
|
||||||
type = lib.types.bool;
|
|
||||||
default = false;
|
|
||||||
description = "Whether to enable makima key remapper.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
theme = lib.mkOption {
|
theme = lib.mkOption {
|
||||||
type = lib.types.str;
|
type = lib.types.str;
|
||||||
@@ -102,5 +97,22 @@
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
inputMethod = {
|
||||||
|
enable = lib.mkEnableOption ''
|
||||||
|
fcitx5 input method (CJK / IME). Wires NixOS's i18n.inputMethod and
|
||||||
|
autostarts fcitx5-daemon. Adds a small footprint when enabled, so
|
||||||
|
most users want this off.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
voxtype = {
|
||||||
|
enable = lib.mkEnableOption ''
|
||||||
|
voxtype voice-typing integration. NOTE: voxtype is not packaged in
|
||||||
|
nixpkgs — when enabled, install voxtype yourself (e.g. via
|
||||||
|
`home.packages = [ (pkgs.callPackage … {}) ]`). With this off the
|
||||||
|
SUPER+CTRL+X keybinding and waybar widget are no-ops.
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Restart makima - key remapping service for remapping Copilot key to Nomarchy Menu
|
|
||||||
|
|
||||||
sudo systemctl restart makima
|
|
||||||
@@ -14,7 +14,6 @@ in
|
|||||||
fingerprint = systemState.features.fingerprint or false;
|
fingerprint = systemState.features.fingerprint or false;
|
||||||
fido2 = systemState.features.fido2 or false;
|
fido2 = systemState.features.fido2 or false;
|
||||||
hybridGPU = systemState.features.hybridGPU or false;
|
hybridGPU = systemState.features.hybridGPU or false;
|
||||||
makima = systemState.features.makima or false;
|
|
||||||
};
|
};
|
||||||
theme = systemState.theme or "nord";
|
theme = systemState.theme or "nord";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,7 +0,0 @@
|
|||||||
# Run nomarchy-restart-makima after any changes
|
|
||||||
|
|
||||||
[remap]
|
|
||||||
KEY_LEFTMETA-KEY_LEFTSHIFT-KEY_F23 = ["KEY_LEFTMETA", "KEY_LEFTALT", "KEY_SPACE"]
|
|
||||||
|
|
||||||
[settings]
|
|
||||||
GRAB_DEVICE = "true"
|
|
||||||
@@ -1,5 +1,10 @@
|
|||||||
{ config, pkgs, lib, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
xdg.configFile."opencode/opencode.json".source = ./config/opencode.json;
|
# Opt-in: the user explicitly wants opencode wiring (config file at
|
||||||
|
# ~/.config/opencode/opencode.json). Set
|
||||||
|
# `nomarchy.apps.opencode.enable = true` in your home.nix.
|
||||||
|
xdg.configFile."opencode/opencode.json" = lib.mkIf config.nomarchy.apps.opencode.enable {
|
||||||
|
source = ./config/opencode.json;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ bindd = SUPER SHIFT, N, Editor, exec, nomarchy-launch-editor
|
|||||||
bindd = SUPER SHIFT, D, Docker, exec, nomarchy-launch-tui lazydocker
|
bindd = SUPER SHIFT, D, Docker, exec, nomarchy-launch-tui lazydocker
|
||||||
bindd = SUPER SHIFT, G, Signal, exec, nomarchy-launch-or-focus ^signal$ "uwsm-app -- signal-desktop"
|
bindd = SUPER SHIFT, G, Signal, exec, nomarchy-launch-or-focus ^signal$ "uwsm-app -- signal-desktop"
|
||||||
bindd = SUPER SHIFT, O, Obsidian, exec, nomarchy-launch-or-focus ^obsidian$ "uwsm-app -- obsidian -disable-gpu --enable-wayland-ime"
|
bindd = SUPER SHIFT, O, Obsidian, exec, nomarchy-launch-or-focus ^obsidian$ "uwsm-app -- obsidian -disable-gpu --enable-wayland-ime"
|
||||||
bindd = SUPER SHIFT, W, Typora, exec, uwsm-app -- typora --enable-wayland-ime
|
|
||||||
bindd = SUPER SHIFT, SLASH, Passwords, exec, uwsm-app -- 1password
|
bindd = SUPER SHIFT, SLASH, Passwords, exec, uwsm-app -- 1password
|
||||||
|
|
||||||
# If your web app url contains #, type it as ## to prevent hyprland treating it as a comment
|
# If your web app url contains #, type it as ## to prevent hyprland treating it as a comment
|
||||||
|
|||||||
@@ -197,7 +197,6 @@ show_font_menu() {
|
|||||||
show_setup_menu() {
|
show_setup_menu() {
|
||||||
local options=" Audio\n Wifi\n Bluetooth\n Power Profile\n System Sleep\n Monitors"
|
local options=" Audio\n Wifi\n Bluetooth\n Power Profile\n System Sleep\n Monitors"
|
||||||
[[ -f ~/.config/hypr/bindings.conf ]] && options="$options\n Keybindings"
|
[[ -f ~/.config/hypr/bindings.conf ]] && options="$options\n Keybindings"
|
||||||
options="$options\n Key Remapping"
|
|
||||||
[[ -f ~/.config/hypr/input.conf ]] && options="$options\n Input"
|
[[ -f ~/.config/hypr/input.conf ]] && options="$options\n Input"
|
||||||
options="$options\n DNS\n Security\n Config"
|
options="$options\n DNS\n Security\n Config"
|
||||||
|
|
||||||
@@ -210,7 +209,6 @@ show_setup_menu() {
|
|||||||
*Monitors*) open_in_editor ~/.config/hypr/monitors.conf ;;
|
*Monitors*) open_in_editor ~/.config/hypr/monitors.conf ;;
|
||||||
*Keybindings*) open_in_editor ~/.config/hypr/bindings.conf ;;
|
*Keybindings*) open_in_editor ~/.config/hypr/bindings.conf ;;
|
||||||
*Input*) open_in_editor ~/.config/hypr/input.conf ;;
|
*Input*) open_in_editor ~/.config/hypr/input.conf ;;
|
||||||
*Key\ Remapping*) nomarchy-setup-makima && open_in_editor "$HOME/.config/makima/AT Translated Set 2 keyboard.toml" && nomarchy-restart-makima ;;
|
|
||||||
*DNS*) present_terminal nomarchy-setup-dns ;;
|
*DNS*) present_terminal nomarchy-setup-dns ;;
|
||||||
*Security*) show_setup_security_menu ;;
|
*Security*) show_setup_security_menu ;;
|
||||||
*Config*) show_setup_config_menu ;;
|
*Config*) show_setup_config_menu ;;
|
||||||
|
|||||||
@@ -902,6 +902,12 @@ EOF
|
|||||||
# GNOME Keyring auto-unlock + gcr SSH agent (default: on).
|
# GNOME Keyring auto-unlock + gcr SSH agent (default: on).
|
||||||
# nomarchy.system.keyring.enable = false;
|
# nomarchy.system.keyring.enable = false;
|
||||||
|
|
||||||
|
# fcitx5 input method (CJK / IME).
|
||||||
|
# nomarchy.system.inputMethod.enable = true;
|
||||||
|
|
||||||
|
# voxtype voice-typing wiring (you must install voxtype yourself).
|
||||||
|
# nomarchy.system.voxtype.enable = true;
|
||||||
|
|
||||||
system.stateVersion = "25.11";
|
system.stateVersion = "25.11";
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
@@ -980,6 +986,13 @@ EOF
|
|||||||
# tldr
|
# tldr
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# --- Optional Nomarchy app modules ---
|
||||||
|
|
||||||
|
# opencode AI coding CLI integration (deploys ~/.config/opencode/opencode.json).
|
||||||
|
# The `opencode` package itself is not installed automatically — add it to
|
||||||
|
# `home.packages` above if you want it on PATH.
|
||||||
|
# nomarchy.apps.opencode.enable = true;
|
||||||
|
|
||||||
# Extra Home Manager modules go here (program configs, services, etc.).
|
# Extra Home Manager modules go here (program configs, services, etc.).
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
|||||||
Reference in New Issue
Block a user