diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,10 @@
 # dnf-repo releases
 
+## 0.5.3 (2022-12-31)
+- for copr template file, detect fedora distro otherwise assume epel
+- don't print actions if no args
+- skip euid check if proot session
+
 ## 0.5.2 (2022-11-28)
 - --releasever now induces using a separate dnf cache subdir
 - YumRepoFile: do not sort modes
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -22,7 +22,7 @@
 
 ```shellsession
 $ dnf-repo --version
-0.5.2
+0.5.3
 $ dnf-repo --help
 DNF wrapper repo tool
 
diff --git a/data/copr.fedorainfracloud.orgCOLONOWNERCOLONREPO.repo b/data/copr.fedorainfracloud.orgCOLONOWNERCOLONREPO.repo
--- a/data/copr.fedorainfracloud.orgCOLONOWNERCOLONREPO.repo
+++ b/data/copr.fedorainfracloud.orgCOLONOWNERCOLONREPO.repo
@@ -1,6 +1,6 @@
 [copr:copr.fedorainfracloud.org:@COPR_OWNER@:@COPR_REPO@]
 name=Copr repo for @COPR_REPO@ owned by @COPR_OWNER@
-baseurl=https://download.copr.fedorainfracloud.org/results/@COPR_OWNER@/@COPR_REPO@/fedora-$releasever-$basearch/
+baseurl=https://download.copr.fedorainfracloud.org/results/@COPR_OWNER@/@COPR_REPO@/@DISTRO@-$releasever-$basearch/
 type=rpm-md
 skip_if_unavailable=True
 gpgcheck=1
diff --git a/dnf-repo.cabal b/dnf-repo.cabal
--- a/dnf-repo.cabal
+++ b/dnf-repo.cabal
@@ -1,5 +1,5 @@
 name:                dnf-repo
-version:             0.5.2
+version:             0.5.3
 synopsis:            DNF wrapper tool to control repos
 description:
         A command-line wrapper of the dnf package manager to
diff --git a/src/Main.hs b/src/Main.hs
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -8,7 +8,7 @@
 import Data.Bifunctor (bimap)
 import Data.Char (isDigit)
 import Data.List.Extra
-import Data.Maybe (mapMaybe)
+import Data.Maybe (mapMaybe, maybeToList)
 import Network.HTTP.Directory (httpExists', (+/+))
 import SimpleCmd
 import SimpleCmdArgs
@@ -91,7 +91,7 @@
     nameStates <- sort <$> concatMapM readRepos repofiles
     let actions = selectRepo exact nameStates modes
         moreoutput = not (null args) || null actions || listrepos
-    unless (null actions || quiet) $ do
+    unless (null actions || null args || quiet) $ do
       mapM_ putStrLn $ reduceOutput $ mapMaybe (printAction save) actions
       when moreoutput $
         warning ""
@@ -130,7 +130,7 @@
       let repoargs = concatMap changeRepo actions
           weakdeps = maybe [] (\w -> ["--setopt=install_weak_deps=" ++ show w]) mweakdeps
           quietopt = if quiet then ("-q" :) else id
-          cachedir = ["--setopt=cachedir=/var/cache/dnf" </> relver | Just relver <- [maybeReleaseVer args]]
+          cachedir = ["--setopt=cachedir=/var/cache/dnf" </> relver | relver <- maybeToList (maybeReleaseVer args)]
         in doSudo dryrun debug "dnf" $ quietopt repoargs ++ cachedir ++ weakdeps ++ args
 
 -- FIXME pull non-fedora copr repo file
@@ -141,8 +141,11 @@
     Just (copr_owner,copr_repo) -> do
       let repourl = "https://download.copr.fedorainfracloud.org/results" +/+ copr_owner +/+ copr_repo
       unlessM (httpExists' repourl) $ error' $ "no such copr repo: " ++ repourl
+      distro <- do
+        isFedora <- grep_ "ID=fedora" "/etc/os-release"
+        return $ if isFedora then "fedora" else "epel" -- FIXME!
       template <- getDataFileName coprRepoTemplate
-      repodef <- cmd "sed" ["-e", "s/@COPR_OWNER@/" ++ copr_owner ++ "/g", "-e", "s/@COPR_REPO@/" ++ copr_repo ++ "/g", template]
+      repodef <- cmd "sed" ["-e", "s/@COPR_OWNER@/" ++ copr_owner ++ "/g", "-e", "s/@COPR_REPO@/" ++ copr_repo ++ "/g", "-e", "s/@DISTRO@/" ++ distro ++ "/", template]
       let repofile = ("_copr:" ++) $
                      replace "COLON" ":" $
                      replace "OWNER" copr_owner $
@@ -217,12 +220,15 @@
                       else args !! (lst + 1)
                     '=':rv -> rv
                     _ -> error' $ "could not parse" +-+ opt
+                  -- still not sure if this fully makes sense
             in if all isDigit relver || relver `elem` ["rawhide","eln"]
                then Just relver
                else error' $ "unknown releasever:" +-+ relver
 
 checkEuid :: IO ()
-checkEuid = do
+checkEuid =
+  -- getLoginName fails for proot
+  unlessM (cmdBool "pgrep" ["--session", "0", "proot"]) $ do
   user <- getLoginName
   euser <- getEffectiveUserName
   when (user /= euser) $
